Optional Components can be assigned either on a per World basis or per World Grouping basis. Components assignable on a per World basis apply to all World Groupings, whereas the components assignable on a per Grouping basis apply only to the World Grouping they are assigned to. Some Components can be assigned to multiple World Groupings, however.
Execution Controller's give you control over the execution of the World and any components whose execution is controlled by the World (Chunk Managers, Chunk Streamers, World Grouping Listeners, and Cell Visual Transition Controllers)
A single instance of all of the default Execution Controllers must only be used with a single World.
If you are interested in learning more about them, you can check out the dedicated Execution Controllers Chapter.
Learn About Execution Controllers
Hierarchy Organizers allow you to organize your Scene Hierarchy in whatever way you wish, allowing you to group together related Asset Chunks or do whatever else you want.
Each World in your scene should utilize a different Hierarchy Organizer instance, to eliminate Asset Chunk contamination from one World to another.
If you are interested in learning more about them, you can check out the dedicated Hierarchy Organizers Chapter.
Learn About Hierarchy Organizers
Cell Visual Transition Controllers were created to give you complete control over how Asset Chunks transition into/out of the scene, as well as how they transition between different Levels of Detail. While usually the transitions will consist of cross fading or some other transparency driven process, there is nothing stopping you from manipulating the Asset Chunks' positions, scales, and other properties in order to perform the transitions.
A single instance of all of the default Transition Controllers included with SAM can be used with multiple World Groupings at the same time. If you create custom Transition Controllers, the design implementation will determine whether a single instance can be used by multiple Groupings at the same time.
If you are interested in learning more about them, you can check out the dedicated Cell Visual Transition Controllers Chapter.
Learn About Transition Controllers
World Group Listeners are powerful components that let you hook into and react to events on World Groupings and perform actions on the World Cells of those Groupings. They are a replacement for Cell Actions, which had to be added to each Asset Chunk individually, an inconvenient and non performant system.
A single instance of all of the default World Grouping Listeners included with SAM can be used with multiple World Groupings at the same time. If you create custom Listeners, the design implementation will determine whether a single instance can be used by multiple Groupings at the same time.
Each World Grouping can have as many Listeners as you wish to add. It's also worth nothing that Listeners can be added and removed at runtime using the World's AddWorldGroupingListener and RemoveWorldGroupingListener methods.
If you are interested in learning more about them, you can check out the dedicated World Grouping Listeners Chapter.