Hi, I have a PCGVolume in my world with a partitioned PCGComponent that is loaded on demand. In my GameMode I’m calling
PCGComponent->Generate(true);
which I would expect it to generate the PCG at runtime.
Unfortunately, I’m getting this error:
LogPCG: Error: [ScheduleComponent] Didn't schedule any task.
LogPCG: Warning: Process Graph was called but aborted, check for errors in log if you expected a result.
I’ve been looking at the source code but, to be frank, I’m a bit at a loss as to what to do here. This PCG works fine when generated ahead of time in the editor with partitioning enabled, and it also works fine when loaded on-demand without partitioning, but that’s it. I think partitioned PCG components loaded on demand are completely broken.
I’ve looked at the source code and I’ve narrowed it down to this:
const TSet<TObjectPtr<APCGPartitionActor>>* PartitionActorsPtr = ComponentToPartitionActorsMap.Find(OriginalComponent);
Where basically PartitionActorsPtrs is always nullptr.
I’ve tried loading the PCG at runtime, but that has issues too. For one it doesn’t obey spatial coordinates and all actors are loaded at once. Here’s a screenshot showing what I’m talking about:
I’m a bit at a crossroads here with PCG and if I don’t overcome this challenge I’m going to need to completely drop PCG as a procedural tool…
- Partitioned PCG components do not generate on demand
- Partitioned PCG components generated at runtime load every single actor regardless of camera position
If anyone can help me with this, I would be hugely appreciative. Thank you.
