Hi everyone,
I’m experiencing what looks like an issue with External Data Layers loaded through a Game Feature, specifically when activating the Game Feature after entering PIE or Standalone from the editor.
SETUP
-
a map using World Partition
-
a Game Feature plugin
-
the Game Feature contains an AddWorldPartitionContent action with an External Data Layer
-
the initial Game Feature state is Registered (same result if it starts as Loaded)
What I would expect is that activating the Game Feature at runtime should stream in all actors associated with the External Data Layer.
This is actually what happens in Editor: if I activate and deactivate the Game Feature directly in the editor, the actors correctly appear and disappear from the scene.
It also works correctly if I activate the Game Feature before entering PIE.
In that case, once gameplay starts, I can deactivate and reactivate it and everything behaves as expected.
The issue only happens if I enter PIE or Standalone from the editor while the Game Feature is still in Registered or Loaded.
In that scenario:
-
I start PIE / Standalone
-
the actors are correctly not loaded at startup
-
I activate the Game Feature (I tested via console command, directly from the asset, and via code)
-
the Game Feature transitions correctly to Active
-
the actors are never loaded into the world
At that point, the External Data Layer does not even appear in the Data Layer Outliner, and no actors get streamed in.
This seems to be an editor only issue since it works correctly in packaged builds
After debugging engine code, it seems that the Runtime Hash for External Data Layers is not being generated for EDLs that are activated after entering PIE / editor Standalone, which would explain why the Data Layer never shows up and nothing gets streamed.
Has anyone else experienced this or found a workaround?
Thanks!