Layer Manager ============= Across a game there usually exists a convention for layers. Thus, some game-wide collision masks can be defined: - Visibility (mask that collides with anything obscuring the line of sight) - Solids (mask that collides with anything solid matter can't pass through) - Water (mask that can be used to detect water for floating or swimming) These layers need to be defined across the whole game project, so putting them in a prefab isn't ideal (player may forget to place prefab in scene, player may edit game object locally and forget apply the changes to the prefab, and so on). Thus there needs to be a way of defining game-wide collision masks that are stored in one place and one place only. Layer Mask Lists ---------------- To guarantee this, layer masks are defined in text files. The concept is rather simple: - there's a default layer mask list provided by the framework that gets loaded first: "DefaultLayerMasks.txt" - and there's an override layer mask list than is defined by a game project, providing game-specific layer masks: "LayerMasks.txt" The format of these files is as follows: > > # This is a comment > > FirstMask: 1 + 2 > SecondMask: Default + Water > Problems -------- Adds another component dependency.