Steps to Reproduce:
Create an open-world level.
Create a PCG graph that performs a number of operations to generate foliage within the spline range.
Create a blueprint and add a PCG component and a spline component.
For the PCG component in step 3, point the graph to the graph created in step 2, check “Is Partitioned,” and set the Generation Trigger to Generate on Demand.
Add 1,000 instances of the blueprint from step 2 to the level in step 1 and execute the PCG graphs one by one(or in a batch).
Click Play in Editor
Results:
After clicking play, the engine interface will be stuck for about a minute
Expected:
Click play and you will be able to play it soon
Description:
Currently, the logic within the BeginPlay function of a PCGPartitionActor typically causes the PCG graph to be re-executed when Play is clicked (On PCGPartitionActor loading). Therefore, when a level contains a large number of PCG actors and the execution of a single PCG graph is time-consuming, the engine interface can freeze for an extended period of time. In most cases, we don’t need the PCGPartitionActor to re-execute the graph, but currently, unless the OriginalComponent or LocalComponent is null, or the OriginalComponent has never executed a graph or is currently executing, the PCG graph will be re-executed after the game is launched. This makes the player’s gameplay experience very poor, so I hope you can adjust this so that the behavior of the LocalComponent’s GenerationTrigger is consistent with the OriginalComponent’s GenerationTrigger.Thanks!