I made a simulation of the force of gravity. several boxes are attracted to each other, can pair up, enter orbits, etc. Each box defines the distance to all other boxes, each box per tick, the more boxes the more loops. Each box first creates an array with all the other boxes and then through the for loop calculates the distance to each box. More than 500 boxes and fps falls to 1-3 frames. I simplified the calculations, for example, you do not need to count all the boxes for each box, but only half, it does not help. But Niagara can create huge arrays, and calculates the movement. but in niagara you cannot create a mesh with physics and collision. you can create meshes separately via blueprint. is it possible to pass arrays with boxes to niagara? Can Niagara itself calculate all the distances, how much boxes are in the array so much Niagara loops, the force of gravity and transfer data to each box?
Niagara can definitely do that. But it does not mean that you should follow that path. Niagara is not meant to drive gameplay.
you want to say that the ue4 has special tools for using gpu in blueprint?