Crash in packaged project " not instance of NiagaraDataInterfaceStaticMesh and it is not a CDO"

Hello,

On my project, once cooked (not in editor), when I load the big open world map in world partition with all sorts of foliage, niagara emitters etc… the game crashes and I get this error :

Assertion failed: !InTemplate || InTemplate->IsA(InClass) || (InFlags & RF_ClassDefaultObject) [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 3501] StaticConstructObject FlowAbstractLink /Engine/Transient.GridFlowAbstractGraph_2147481916:FlowAbstractLink_2147481886 is not an instance of class Class /Script/Niagara.NiagaraDataInterfaceStaticMesh and it is not a CDO.

Does anyone have any guess about what is happening here ?
Thanks a lot !

Edit : after digging a bit, I think it’s related to Dungeon Architect, a well known plugin I’m using. there are errors saying “Failed to load Outer for resource” when it’s trying to generate a dungeon.

Looks like it means the mesh that was supposed to be used by Niagara is not in memory (not marked as “allow CPUAccess”). It happens in packaged project. The only useful information here is the " NiagaraDataInterfaceStaticMesh " part.

Maybe a little something in the documentation or improving the error output could help.
Or maybe automatically check this parameter when mesh is called from a blueprint / Niagara system ? It can be very complicated to activate it in every mesh that will need it in a project and I suppose it’s not a good idea to enable it for any mesh.

Have a nice day / evening

Edit : I also had to set the mesh at runtime so I’m sure it’s loaded.


Had a similar bug where my FX attached on an animation. However, I fix the issue by setting the animation loop to only once.