[Closed] Streaming levels without calling BeginPlay
We'd like to have granular power over when packages are loaded versus when they are "begun". Is there a way to do this? It looks like even when you send false to bMakeVisibleAfterLoad in UGameplayStatics::LoadStreamLevel, BeginPlay is called on the level.
Seeing as BeginPlay is the final step called on an actor as far as I understand the content pipeline, that seems very limiting. We just want all the assets ready, invisible and inactive, floating in RAM until we hit the switch. Is there a way to accomplish this?
Alternatively, is there an event we should move our BeginPlay logic to instead, that only fires when we set it to be visible? That's not an ideal solution since that would be a pretty big migration, but it seems pertinent to ask.
In a nutshell, we want to separate the idea of "loading" from "activating", if that makes sense.
The question has been closed Sep 22 '16 at 06:20 PM by AndrewHurley for the following reason:
The question is answered, right answer was accepted
BeginPlay on sub-level actors should be called only after sub-level became visible. UGameplayStatics::LoadStreamLevel with bMakeVisibleAfterLoad=fasle should just load level package into memory without making it visible. If you see that BeginPlay called on hidden level that a bug. Do you see this issue in PIE or in standalone game?
answered Sep 22 '16 at 06:19 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here