The setup is simple… I am calling Create Level Instance in blueprint somewhere…
Then, back in C++ land, I get the ULevelStreaming object:
ULevelStreaming* levelStreaming = UGameplayStatics::GetStreamingLevel(
world, FName(*uniqueRoomInstanceString));
Then, I set a location for the new level via LevelTransform:
static const float ROOM_SIZE = 2500;
const FVector roomLocation(x*ROOM_SIZE, y*ROOM_SIZE, 0);
levelStreaming->LevelTransform.SetLocation(roomLocation);
So, this method works for Actors, but BSP brushes like regular physical geometry don’t update to the FVector offset! Is there some other method I should be using to do the same thing to BSP brushes? Or is this just not possible?..