The package is a set of C# utility code stuff for projects based on Unity Engine.
It works with Unity 2019.4 and newer.
For using the library as a unity package add the next line to dependencies in \Packages\manifest.json:
"com.oleghcp.unitytools": "https://github.com/oleghcp/UnityTools.git",
Also it can be downloaded manually from github and placed into the assets folder.
Mind that it uses assembly definitions.
- Base stuff. Common tools:
ApplicationUtility
,BitMask
,RandomNumberGenerator
,CameraFitter
, etc. - Coroutine running. Allows to run coroutines in non-MonoBehaviour classes.
- Collections. Some specific collections.
- .Net Extensions. Extensions for base .Net api stuff (arrays, collections, strings, etc).
- Unity Extensions. Extensions for base Unity api stuff (game objects, transforms, vectors, etc).
- Terminal. Simple in-game console for commands and messages.
- Inspector. Attribute classes for Unity inspector.
- Input/Output. A few classes for work with files and paths.
- Mathematics. Math tools and structs.
- Graph editor. Tool for creating graphs based on linked nodes. Useful for creating dialogues.
- Numeric entities. Structs and classes for work with numeric parameters like ranges or character stats.
- Path finding. Simple implementation of A* pathfinding or something that pretends to be A*.
- ObjectPool. ObjectPool implementation.
- SignalBus. SignalBus implementation.
- ServiceLocator. ServiceLocator implementation.
- PostProcessing. Fog effect for the built-in render pipeline
- Randomization. Custom random number generators.
- Game saving. Save/load system.
- Projectiles. Projectile implementation.
- Singletons. Singletons based on
MonoBehaviour
andScriptableObject
. - Strings. Alphanumeric sorting.
- Timer. Simple timer.
- Tools. Couple of tool classes.
- Editor classes. Editor and gui utilities.
- Extensions. Extensions for base unity editor stuff.
- Enum generator. Code generating for creating enums. Useful for generating enums based on serialized assets.
- Node drawer. Custom node drawing for the graph editor.
Has quick reset buttons and can be switched between local and world view.
Has indicators of tool handles if they are switched to center and global value.
Transform parameters can be copied to the clipboard as json string.
- Order Children. Sorts siblings by name.
- Create Script From Template. Template can be modified: \your_project\UserSettings\Templates\C#ScriptTemplate.cs.txt.
- Show Asset Guid
- Find References In Project. The search via text also finds addressable references.
- Create Asset Based On ScriptableObject
- Destroy Subasset
This package is released under the MIT license.
I hope my humble package becomes a useful tool for your game development work and makes it more convenient.