Skip to content

codeabuse/unity-tools

Repository files navigation

::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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages