My game requires players to be able to move around inside a spaceship as its flying around, the interior of this ship is quite complex, so to save on dragging around the full ship interior with the rest of the ship (thus performance), id like to have my interior separate from the map that the exterior hull is flying around in.
Is this possible?
naturally actions inside either of these worlds need to affect the corresponding ships in the main world
I have looked into level streaming, but i dont think this achieves what i want (im happy to load both at once, but then i simply have my interior hull in the main world map, and would be fully visible and interactable, which is not ideal! please correct me if im wrong however)
have you done any tests to see if dragging around an interior hurts performance? im not sure if this is correct, but i think as long as actors are parented, they should be using a local coordinate system relative to their parent, so moving the parent should not need to update the coordinates of anything attached to it. if attaching actors does cause any performance problems, you could optimize it by using fewer separate parts, combining most of the interior into a single object, and trying to use as few draw calls as possible.
you could make a test actor that spawns a few thousand cubes, attaches them to a parent, and moves the parent around. then you can find out how many objects it takes to actually hurt the frame rate, but it really depends how you want to make your spaceship. i think if you use as few materials as possible, and use instanced meshes and combined as many parts into a single static mesh as you can, it shouldn’t be a performance problem.
I believe seamless travel might be what you are looking for, though i don’t believe its exposed through blueprints, only c++ at this time. (I think).
Maybe an engineer can confirm this?
Im going to run a few tests about just pulling the interior along, my worry in this case is things like simulated gravity including smooth movement on the interior while the ship itself is doing wibbly-wobbly stuff
Ill also take a look into seamless travel (is that different from level streaming?)
Turns out having 2 worlds at once doesnt seem to be possible, (after experimenting). Also performance does seem to become an issue with the large interiors i have planned.
As such im going to keep seperate interiors, but hide them inside a sun or asteroid.
Thanks for your help anyways