Skip to content

Latest commit

 

History

History
24 lines (20 loc) · 2.38 KB

File metadata and controls

24 lines (20 loc) · 2.38 KB

::WIP

A set of tools and helpers for generic project.

Tools:

  • Combine selected meshes: creates a unified mesh out of any selected objects on the scene.
  • Bake skinned mesh: creates a regular mesh out of any skinned mesh, preserving the pose and materials.
  • Scene Composition and Editor Scene Composition assets: allows to handle multi-scene setups as single asset, both in Editor (for quick navigation) and in Runtime. Editor compositions are intended for level designers, while Runtime compositions allowing to handle multi-scene setup like a single entity.

Add-ons:

  • Toolbar add-on system: allows to create custom UI elements on the Unity's top toolbar near the Play button.
  • Scene Management add-on:
    • Adds GUI on the top toolbar for selecting and playing Scenes and Scene Compositions.
    • Allows to jump to the play mode without painfully navigating to particular scene or constructing multi-scene setup manually.

Coding features:

  • Instantiate attribute and drawer: creates an instance of a class in a [SerializeReference] marked field through the dropdown in Inspector. Types derived from the field type are collected via reflection.
  • WithInterface attribute: allows to restrict Object property with an interface (field type can be any derived from the UnityEngine.Object). This, the drag-and-drop operation will filter out unsupported ubjects. The filtered object selection window is yet to be implemented.
  • DefaultUIElementsEditor: an inspector that replaces the default Unity's inspector to unitlize the power of UIToolkit. Classes with custom inspectors will use their own inspectors. If you don't want a particular class to be represented by this inspector, create an inspector class for it that is derived directly from Editor and leave no implementation.
  • Inspector Extensions system: provides the ability to add anything to any Inspector without modifying or creating the Inspector class itself.
  • ContextMenu extension for Inspector: any MonoBehaviour functions marked with [ContextMenu] attribute are drawn as buttons in the Inspector using DefaultUIElementsEditor
  • ProjectPrefs: a system based on EditorPrefs, but with key prefix based on project name. Allows to handle Editor user settings per-project.
  • StaticDictionary base class: a singleton-like point of access to various data, usually some sorts of cache for different tools. It is recommended to provide users with some way of cleanig that cache.