The issue related to team scalability and World Partition PCG Builder usage (via commandlet or built-in UE menu)
Initial setup:
The blueprint BP_PCGBuilder has a CollisionBox and a PCG component, with PCG_PCGBuilder graph assigned.
The PCG component is partitioned, and editing mode is set to “Load as Preview”
[Image Removed]
The PCGBuilder setting has a reference to the graph
[Image Removed]
After running the “World Partition PCG Builder” either locally or on the build machine, the BP_PCGBuilder actor asset gets resaved.
The issue is that if another team member is currently working on BP_PCGBuilder, the file becomes locked in Perforce. As a result, the build machine cannot check out or resave the asset, causing the build command to fail.
Could you recommend a better workflow or an alternative solution for handling this scenario?
[Attachment Removed]
Hi Max!
We are painfully aware of this limitation, and we’ll work to address it in the future.
Ultimately, it’s not trivially easy to know what files can be ignore or not, but I think we could come up with a reasonable solution with the user’s input - in the pcg builder settings.
We haven’t done it yet though.
In the meantime, what we do internally is that we have a two layer system,
i.e.
1 - the actors that are manipulated by team members are normally set to ‘normal’ generation, but don’t output results (store points on the pcg component, by routing the points to the output).
2 - there is a partitioned pcg volume that gathers all of the actors that we’re interested in, and that is Load-as-preview, <- this is the one that the build machine updates.
What happens then is that users see local updates when they move their actors, but the initial source of truth is updated only by the build machine.
It’s not perfect, but if your generation is fast enough, it’s not much of a problem.
And the other solution is proper perforce etiquette with assets, but we all know this is a pipe dream.
Let me know if you have more questions/need details.
Cheers,
Julien
[Attachment Removed]