One character in different levels?


my first person character in my start level, get some actors attached to him during runtime. Now I want to change the levels (guess “Open Level”) and control again my character with the attached actors.

When I’m changing the level, I can not reference to things from the last level and get a new character, which does not have from default the attached actors. How can I do it?


Either use level streaming:

Or create GameInstance class with transferable data, GameInstance is like GameMode but it always exists regardless of level. It will still reset your character (all actors is destroyed toghther with world instance they are attached to), but with data in that class you will be able to reconstruct his state

Level streaming is not the best solution, because every level have different lightmass settings and I don’t want to have the whole project in one level.

I tried GameInstance, but I can not add actors from my scene, just variable, blueprints etc.

These objects I need in my other levels:


Everyone differs from the default. Best solution I know is, manually offer these objects in every level and save their data in GameInstance. But when I change my menue, for example I add an button, I have to change it in X levels…

Easy spoken, I need these objects as global.

Well it really can’t be helped, UE4 is logically more setup for match based games, but it not much annoying with GameInstance (or technicly any other Non-actor UObject). As for menu do exactly same thing as i recommend with character, make menu reconstruct it state based on state of GameInstance.