Repository navigation
Home
Tools and extensions for built-in .NET types, with no Unity engine dependencies. Useful for domain-driven design and for keeping core logic off the engine.
Everything lives under the Mane.DotNet namespace.
The package is supported starting from Unity 6.0.81 (6000.0.81f1). It has no Unity runtime types, so you can also use the sources in a plain .NET project.
Related packages: ManeTools-Unity (engine wrappers and editor), ManeTools-UnityUI (uGUI).
- ManeSingleton — thread-safe CRTP singleton
- GlobalEventManager — in-process event bus keyed by event type
- MinMax — unordered numeric intervals
-
Random —
IRandom, dice, coin - AsyncTools — poll a condition, wrap callbacks as tasks
- HistoryCache — ring buffer of the last N samples
-
Tools —
DateTimeTools,PathTools,EnumTools -
Collection Extensions —
ForEach, shuffle, sampling, fill - Numeric and String Extensions — clamp, remap, clock strings, invariant parsers
This package is almost entirely code. There is nothing to screenshot unless you serialize MinMax* from ManeTools-Unity — that inspector is documented there.
I recommend installing this package with the OpenUPM CLI. If you cannot use OpenUPM, download the package and place it anywhere in your Unity project.
- Install
OpenUPMif needed:npm install -g openupm-cli. - In the Unity project folder:
openupm add com.manefunction.tools-dotnet. - Switch back to Unity and wait for the import to finish.
Package id: com.manefunction.tools-dotnet.
The code is not new, but splitting one package into several (plus refactoring) is a great way to invent fresh bugs. The original ManeTools already ships in live projects. Use at your own risk.
openupm add com.manefunction.tools-dotnet