Download

Transfer Actors Between Levels?

I’ve searched quite a bit on how I can transfer actors between levels, but all I’ve found is how to transfer variables and such using Game Instance. But not quite exactly the actors themselves.

So, I’m working on a project where the player can jump between two levels Level A and Level B, and the player can make objects from level B appear if he’s in level A and vice versa. But only individual actors. I’ve had a few thoughts about how to go about this, but I’m a bit stumped

So far, the closest answer that I’ve found would be Persistent loading. If I’m understanding this right, I could have all the actors that I want to pull from in a sub-level, (let’s call this Object Pull Level) then load using blueprints into Level A. The problem with this is that it loads ALL actors in the object pull level, not individual ones unless each actor is in it’s own sub level which doesn’t sound efficient. The other problem is when the player goes to Level B, the objects pulled from the object sub level must be gone.

So basically, how could I transfer actors between two levels, and making it seem that the actor is actually gone or pulled from the level it transferred from?

make a third level that is persistent where only the actors are in

Okay, …could you explain it a bit more? How would this work?

Are you sure that spawning actors isn’t enough?

Maybe I’m just misunderstanding what you are trying to do…

I’m trying to transfer, or at least make it seem as though an actor has been transferred from level B to Level A.

So yes, I could use the method of spawning the actor to level A, but when the player goes to level B, I would need that same actor gone. How could I communicate that between levels?

Okay, to simplify the question even more, how can I destroy an actor while in another level, and keep that actor destroyed when I load into that level?

You can probably create a struct of actors, manage them via a stored “dead or alive” variable and check that before spawning the actors.

afaik unloading a level automatically cleans up everything, so just unloading would probably remove the character on it’s own.

You do need to manage the unload process and store the states you are interested in before unloading a level so you can then re-load if needed.