Runtime PCG and FastGeo collisions

Hello.

We are experimenting the runtime PCG and GPU spawners on the latest UE5-main. It works well but we have issues with physics. It seems that GPU spawner doesn’t support this Using PCG with GPU Processing in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community

Do you have plans to add collision support to the GPU spawner? There is the PCGFastGeoInterop but I don’t think it helps us here.

For now, we have a second CPU spawner which spawns invisible meshes for physics at much shorter distance. This seems like a suboptimal solution. Without the GPU support for collisions, we would like to spawn FastGeo ISM directly for them. I made a prototype and it seems to work fine.

We would to ask if you are planning something similar? Or do you already have some solution that I have missed? We would like to minimize merge conflicts and it requires some changes in the FastGeo plugin. We need to do it in a context of runtime PCG.

Thanks,

Jiri

[Attachment Removed]

Hi Jiri,

> Do you have plans to add collision support to the GPU spawner?

Not at the moment, and there’s multiple reasons behind this. FastGeo is still experimental and parts of it are still in flux, so at this point it’s not clear whether it will make sense to fully support collision on GPU. GPU support would likely introduce an additional roundtrip/readback to the CPU and it’s not clear yet if that is something we would like to support.

On the CPU side both supporting FastGeo in general and collisions is much more realistic, but not currently scheduled for an upcoming release.

> We would to ask if you are planning something similar? Or do you already have some solution that I have missed?

Spawning collisions separately on the CPU with a smaller radius would definitely be the workaround/approach we currently recommend. FastGeo is actively being worked on, so you should expect more changing that might require some work to merge.

> I made a prototype and it seems to work fine.

I’ve spoken to the team and they were curious on the impact of that. Did you see any major performance improvements compared to regular ISMs?

Kind Regards,

Sebastian

[Attachment Removed]

Hi Jiri, I’m stepping in for Sebastian here.

Thanks for getting back about your experience with it and the effect you saw on perf. I’ll pass the info along to the rest of the team. Do you need any additional support with this topic, or are you all set from here?

Best,

Camille

[Attachment Removed]

Hi,

thanks for the reply. I would say it seems like a promising way to handle collisions.

About the performance, the FastGeo spawner seems to work well. The PCG node can be moved out of GameThread with just a minor synchronization on GameThread. And the async budgeted nature of FastGeo helps a lot with physics state creation. In my measurement, I got from 5 ms peaks on GT to 1 ms peaks on worker thread. However, it is a prototype if it is possible. There might be some issues which will require some extra synchronization.

Regards,

Jiri

[Attachment Removed]

Hi,

Thanks. I don’t need any further support, you can close this one.

Regards,

Jiri

[Attachment Removed]