Man, figuring out how to manually position particles in Niagara was a huge PITA. Docs mention Niagara Data Channels and Niagara Data Interfaces but so much of it is out of date and / or incomplete it's kinda *worse* than it not being there at all.
In the end I discovered I could do it just with user array parameters indexed with particle IDs, which *become* data interfaces, something never mentioned in the docs so making the connection was extremely hard. I feel a blog post coming on
I feel like "Here's list of points I'd like Niagara to use as particle positions" is not a particularly weird thing to ask, but I found nothing about it that didn't immediately get deep into the experimental API weeds (and already broken NOW), or extremely abstracted concepts. Not once did I find someone saying "yeah you can just bung an array param in there and link it up to particle index" so either I'm super dumb for not immediately knowing that or this is a gap in the cloud brain
I've written up my notes on how to pass points manually to a Niagara system in order to exploit its renderers for doing non-simulated things - in this case a "throwing arc" visualisation element: https://www.stevestreeting.com/2025/01/09/niagara-particles-setting-positions-manually/