Quick answer: Unreal Niagara data interface set from game thread reading stale on next Niagara tick? Tick groups; Niagara may tick before the set is visible - use Post Update Work group.
Set DI value; immediately next frame, Niagara reads previous value.
Niagara tick to Post Update Work
Reads game-thread-set values after they apply.
Or set in pre-update
Hook pre-physics tick to set the DI. Available by Niagara tick.
Audit DI access patterns
Each DI's read timing vs set timing. Mismatched = bug.
“Tick group ordering matters for cross-system reads. Plan order.”
If your VFX reads game-thread data, the tick group ordering is the discipline.