I’m using a GPU Niagara Grid2D Simulation Stage to write to a Render Target.
The system works perfectly during PIE/Simulate, but not while evaluating in the editor or during Movie Render Queue.
What I’ve verified:
- UE 5.7
- GPU Compute Sim
- Grid2D Collection
- Simulation Stage = Always
- Niagara Component active
- Niagara Life Cycle Track added
- Blueprint updates every Sequencer frame using a Repeater Event
Niagara Set Vector4 Array(User.LocationsAndSizes) is called every frame
Observed behaviour:
- Simulate: Grid2D updates, Render Target updates, grass bends.
- Outside Simulate: Render Target never updates.
I also tested:
Niagara Set Vector4 Array- immediately followed by
Niagara Get Vector4 Array
Inside Simulate this behaves as expected.
Outside Simulate it appears the array never becomes available.
Is UNiagaraDataInterfaceArrayFunctionLibrary::SetNiagaraArrayVector4 expected to work outside a simulated world, or are Array Data Interface updates only propagated while the Niagara Component is actively simulating?