Process Flows
While not necessary to understand in-depth, these flowcharts express some of the inner workings of the systems used inside of World Assembly in a digestable way.
Task Graph​
When a FNAssemblyTaskGraph is created, it builds out the full graph of tasks but does not dispatch them until instructed.
Order Of Operations​
Notes​
- Per-pass chaining. Each pass's organ builders chain on the previous pass's
FNProcessPassTask(not its organ builders) so that pass's collision data is fully propagated into the sharedFNVirtualWorldContextbefore any builder readsNodeCollisionMeshes. - Inactive components are skipped.
FNOrganGraphBuilderTaskis only created for components whoseSourceComponent->bActivatedis true. A pass with zero activated components still increments the pass counter but adds no tasks. - Thread targets (from each task's
GetDesiredThread()):- Game Thread: world capture (
FNCreateVirtualWorldTask), proxy spawning (FNSpawnCellProxiesTask), finalize (FNAssemblyFinalizeTask). - Any Thread (
AnyNormalThreadNormalTask): world-capture processing (FNProcessVirtualWorldTask), organ graph building (FNOrganGraphBuilderTask), per-pass collection (FNProcessPassTask), and spawn-context creation (FNCreateSpawnsTask).
- Game Thread: world capture (
SpawnCellProxiesTaskCompletedis a manually-firedFGraphEventthe spawn task triggers when its time-sliced work finishes; it is what actually gatesFNAssemblyFinalizeTask, not the dispatcher task itself.