Is there a way to set a Data Layer’s initial runtime state in code prior to loading the level?
I effectively want to ensure that the data layers I have configured based on a player’s progress in the game block the “Find Player Start” function from running on the GameMode, so that I can dynamically configure which player start is loaded based on the player’s progress.
We reuse the Unreal Levels between different portions of the game, so we need the “initial runtime state” of the Data Layers to change depending on how far the player is.
My first attempt was to handle this via the “Init” function of the Game Instance class, but this gets called before the world has been created (and before the data layer manager has been created), so I can’t modify the runtime state of the data layers.
The solution on that page doesn’t describe what I’m looking for exactly. The solution on that page mentions loading data layers via an overlap, however, I need to ensure that specific sets of data layers are loaded on frame 1 so that when the “Find Player Start” is called on the game mode, the requested data layers are fully loaded.
The documentation for all of the data layer nodes is very sparse so I’m having trouble understanding how to do this. The “Set Data Layer Runtime State” node for example in Blueprints has no tooltip info.
You can use an abstract default pawn (just camera, no movement). Let the GM spawn it. You should have a base loading screen anyway. When the level loads enough have it fire the calls off, then spawn the real character wherever you want.