Sandbox uses layers for two main reasons: Organizing your level content and Streaming performance.
Any object you place on a layer (vegetation/terrain excluded) can be hidden/unhidden via the Layer Control and also via Flowgraph, which allows loading/unloading of level areas to keep performance high and memory consumption low.
Objects like brushes and entities can be placed on layers which are basically a mechanism to group objects logically.
Each layer can be stored as a separate .lyr file on the hard disk. Having the layer files stored separately on disk allows to do collaborative editing, since the layer files can be checked in individually in a revision control system like Perforce.
You can find the Layer Tab on the RollupBar. On the Layers tab are a few useful buttons and the layer list. By default, the levels objects will be located on the "main" layer.
In the screenshot that several layers have an asterisk after them. This shows layers that have had changes made to them.
Creating a New Layer
To create a new layer, click the New Layer button. After clicking on it, a dialog box will be displayed:
Be sure to enter a useful and recognizable name for your layer, possibly indicating its function or a description of what it contains. For example "beach area" or "sounds".
In the dialog box you can also specify if the Layer is visible, is frozen, Export Layer Pak, Default Loaded, is external, will be exported to the game, or Brushes Have Physics.
Deleting a Layer
Click the Delete Layer button to delete the currently selected layer. A dialog box will show up and ask for confirmation. Once a layer is deleted, it cannot be restored without reloading a previous version of the level, or re-importing the layer if it was external.
Renaming a Layer
Click the Rename Layer button which opens a dialog box that allows you to rename the currently selected layer.
Exporting a Layer
Click the Export Layer button to open a Save As dialog, allowing you to export your layer to a file. Make sure your layer file has the .lyr extension to it. This layer file can be imported into other levels, if required.
Importing a Layer
Click the Import Layer button to import a layer that was exported previously. Locate your layer using the Open File dialog.
To change layer settings, right click on a layer and select Settings in the popup menu. The same dialog box as for creating a new layer will be displayed. Change the settings and click OK.
Does the same thing as the layer hide/show icon. See below for more information.
Does the same thing as the layer freeze/unfreeze icon. See below for more information.
Export Layer Pak
This layer will be loaded by default.
When this checkbox is enabled, the layer will be stored as a separate .lyr file on disk, enabling better use of version control systems.
Export to Game
When this checkbox is enabled, the layer will be exported to the game when you use File -> Export to engine. Un-check this if you don't wish to see the objects contained in the layer in pure game mode.
Brushes Have Physics
Brushes within a layer with this disabled will not have physics. This is good for distance background objects to save on performance.
Assigning Objects to Layers
When you have more than one layer in your level, you can assign your objects to a specific layer.
Select an object and look at its Entity settings on the RollupBar. Click the Layer button to open up the layer list which will allow you to select a different layer.
The image below shows a Particle entity selected, and the Layers button selected on the RollupBar.
By default any object is placed in the layer "Main", unless you have selected another from the layers menu. If a different layer is selected from the Layers tab, any objects added to the level will automatically be assigned to that layer.
Hide/Show and Freeze/Unfreeze Layers
After assigning layers to your objects, there are a few additional ways to manage them. Go to the layer list in the RollupBar.
- Toggling the eye icon will hide/show the objects on that layer.
- Toggling the arrow icon will allow interaction with objects when the icon is visible (objects are unfrozen), and disallow interaction when the icon is hidden (objects are frozen).
Double clicking on an icon will make all layers change their state of hide/show or frozen/unfrozen, depending on which icon was selected.
Grouping Layers (Child Layers)
To group layers, simply hold CTRL and drag one layer onto another. The layer that is dragged will then become a child layer of the layer you dropped it onto.
To un-group the layers, hold CTRL and drag the layer you wish to un-group into the empty space below (or the very bottom of the layer list). It will then be released back into its own main layer.