How to manually update particle position in Niagara


If there’s an array of desired particle positions (50k) get updated every frame from BP, how do we update Niagara particle system to set these locations?

It works when I pipe through Cascade particle positions and finally update Material’s World Position Offset, but no luck with Niagara so far. Can anyone help?

Found answer myself. Using texture sample in Niagara does create beautiful particle system with point cloud data.

Mind elaborating on your solution? I’m attempting something similar and would love a code snippet or a description of where to look. Are you just shoving vectors into a rendertexture, and using the niagara sampling and calculating UV from their index? Is your texture 1d?

Use texture uv as particle index, texel colour as xyz coord maybe?

Can you please give me more details, I have a wall with 2 materials blended with mask, I want to use this mask with static mesh to allow particles be spawn only where mask is allowing

Not sure: I’m trying that but I can’t seem to find any way to update the texture at every tick without a huge hit on FPS.