Scene Layers Unity Editor Extension
Scene Layers Overview:
Scene Layers is an Editor Extension for Unity 3D. It assists in group style organization in the scene hierarchy and provides additional functionality through the inspector window. As Unity does not have basic grouping or layering functionality seen in other engines (Unity Layers are physics and rendering, with a 32 layer limit), it is common to group game objects using another game object. This works fine so long as the parent game object’s transform is not modified.
Scene Layers expands on this method of grouping and adds ease of visibility and functionality to the hierarchy and inspector. Scene Layers are light and can be used in the editor and its features can be used at runtime if needed. Scene layers is an answer to basic game engine editor functionality that should exist by default, but does not; as such, Scene Layers and included tools and tech are Free Open Source Software
Layer Painter Overview:
Scene Layers would not be much on its own. It only exists for the convenience to the user, but it is not alone. Scene Layers comes with an additional extension created to further serve its purpose. As time goes on and plans are implemented; there will be many Extensions under the Scene Layers umbrella. Layer Painter is the first planned extension to reach release. Layer Painter is a highly flexible instancing system. There are a number of instance painting extensions for Unity now, some free, some at a cost. Even though setup can be more complex than other solutions I think you will find the possibilities that Layer Painter provides can lead to greater productivity and control.
Layer Painter works by filtering scene samples and applying modifiers to the prefab instances it places. Brushes, filters, and modifiers use an interface, making it easy to extend Layer Painter’s abilities in any way that you want. Any information that can be derived from a RaycastHit can be used as a filter, and any information that can be derived from a Game Object reference can be modified.
Many additions are planned for Scene Layers, such as Detail Patches, Smart Objects, and Top Shelf. As these extensions become ready for release they will be added to the repository. Detail Patches will be a Unity version of the old CryEngine Detail Patch functionality. You will be able to convert a layer to a detail patch, which will automatically apply rules to its children in the editor, similar to how Layer Painter applies its rules to instancing. Smart Objects is a Scene Layer addition that will allow the component to manage rules and adaptive behavior of Game Objects in the editor. Have a tree or grass penetrating an object in another layer? Smart objects will move them. Smart objects, like the others will operate based on a customizable rule set, letting the editor support your productivity goals. Top Shelf (technically Anywhere Window) will have a selection of editor functionality that makes it a snap to manipulate and select scene objects.
Features Overview for Release 1:
- Make layer persistent across level loads.
- Toggle Layer visibility in scene view.
- Isolate layer in scene view (toggle visibility of everything that is not in the layer)
- Lock layer from Editing.
- User adjustable hierarchy color.
- User settable description that shows as tool tip in editor.
- Inspector Notes
- Bulk actions Empty Scene Layer, Delete Layer without content, and Delete Content in Layer.
- Placement Brush Modes, scatter, single, and stepped.
- Removal Brush Modes, delete and prune.
- Save, load, and create new brushes.
- Brush and Instance Object use filter and modifiers rules.
- Placement Brush filters
- Object Filter
- Slope Filter
- Minimum Proximity Filter
- Placement Brush Modifiers
- Offset Modifier
- Random Rotation Modifier
- Uniform Scale Modifier
- Unity Layer Modifier
- Tag Modifier
- Fixed Rotation Modifier
You can download Scene Layers at Bitbucket.