Niagara Position Based Dynamics setup question

I’m trying to set up a new particle system and I’m using the Position Based Dynamics system from the ContentExamples as a guide, but for some reason when I try to set up a new system from scratch using the same NeighborGrid and PBD Collisions modules, nothing works, even though I’ve configured them exactly the same way.

When I try to do the grid visualizer emitter I just get one big cube that covers the bounds of the NeighborGrid3D instead of getting all the individual cells. When I use the Niagara debugger to inspect the Particle NeigborCount parameter it’s always 0. But the GridCellCount parameters are returning correctly.

This is the ‘System Update’ (Set_Grid_Resolution is a scratch module that sets the X, Y, and Z cell count since that’s no longer directly exposed in the NeighborGrid3D settings, but since the PBD system in ContentExamples was created in 4.27 when they still were that one has a 4x4x4 resolution instead of the default 100x100x100 resolution. If I don’t use this module I’ll still get the same results, unless I crash because it’s drawing too many particles).

Here’s the Grid Visualizer Emitter, just a straight copy of the ContentExample one:

Here’s the details of emitter update for my grid visualizer, copied exactly from the ContentExample:

Grid Location settings:

Initialize Particle Settings:

Set: Mesh Orientation settings:

All copied by hand directly from the ContentExamples PBD System. I can’t for the life of me figure out what I’m missing here. Something isn’t getting set right because the grid visualizer is busted, and I’m guessing whatever is causing that is also why PopulateNeighborGrid and PBD Collisions aren’t working, but I can’t find it. I don’t want to just migrate and modify the PBD example because if there’s some hidden deprecated but functional setting in there there’s a non-zero chance that in 5.2 or later it’ll go from deprecated but functional to non-functional, and then I’ll be back at square one.

Well, I figured out why the collisions weren’t working. I’d typoed the CollisionRadius parameter, so the PBD Collisions module couldn’t read it.

I still can’t figure out why the grid visualizer isn’t working, though.

And I figured out the visualizer. The ‘Position Mode’ setting of Initialize Particle needs to be set to ‘unset’ instead of ‘Simulation Position.’ This isn’t apparent when comparing with the PBD system’s visualize grid emitter because it’s using the old version of the Initialize Particle module and that version doesn’t have a Position Mode drop down, it has a Position tick box.

Where did you find this PBD content sample? Can you recommend it to me.

It’s in the ContentExamples project you can get from the Samples tab in the Epic Games Launcher. Install that as a 4.27 or later project, then open the Advanced Niagara Particles demo map.