A suite of Unity Editor extensions and runtime utilities designed to reduce manual workflow and enforce code safety.
1. Janito Animation Package (Click to expand)
Eliminate string-based animator management. This package provides a type-safe bridge between your C# logic and Unity's Animator system.
- Animator Value Extraction: Batch-generate
AnimatorParameterHasherassets directly from any Animator Controller. - Live-Sync UI: Real-time tracking of Animator Controller changes within the Editor.
- Listener System: Frame-by-frame parameter monitoring and velocity-tracking modules.
- Extension Methods: Native
Animatorextensions for high-performance, string-less parameter setting.
2. Janito Editor Extras (Click to expand)
A set of attributes and libraries to enhance the Inspector and enforce fail-fast validation.
- Serialize Reference Type Selection: Searchable dropdowns for
[SerializeReference]fields withTypeCacheoptimization. - Fail-Fast Validation: A
ValidationLibrarythat throws explicit exceptions for invalid configurations. - Path Management: Project-relative pathing utilities for automated asset generation.
- Build Safety: All attributes are decorated with
[Conditional("UNITY_EDITOR")]to ensure zero runtime overhead.
3. Janito Timers Package (Click to expand)
Self-managed runtime timing. A personalized extension of the Improved Timers architecture from Adam Myhre - Unity Improved Timers.
- Timer Manager: Fully self-managed timers that handle their own lifecycle with a simple start and forget.
- ReadOnly Alternatives: Interface to safely expose timer immutable data and events without allowing external modification.
- Extendable Core: Seamlessly create custom timer types by inheriting from the
BaseTimerclass.
Warning
The Janito Audio Package is deprecated due to functional overlap with native Unity features. It remains in the repository for reference only; active use is not recommended.
Packages can be installed through Unity Package Manager (UPM) via Git URLs. Each package includes a guide on how to install the package within its README file.
For installing several packages at once, follow the following steps:
- Open your project folder and locate the
Packagesfolder. - Open
manifest.json. - Add the following items to the
dependencieslist, removing any undesired packages:
"com.janito.animationpackage": "https://github.com/Janfra/Janito-Unity-Packages.git?path=/JanitoAnimationPackage",
"com.janito.editorextras": "https://github.com/Janfra/Janito-Unity-Packages.git?path=/JanitoEditorExtrasPackage",
"com.janito.timerspackage": "https://github.com/Janfra/Janito-Unity-Packages.git?path=/JanitoTimersPackage"The resulting file, including only the above packages, would look like the following:
{
"dependencies": {
"com.janito.animationpackage": "https://github.com/Janfra/Janito-Unity-Packages.git?path=/JanitoAnimationPackage",
"com.janito.editorextras": "https://github.com/Janfra/Janito-Unity-Packages.git?path=/JanitoEditorExtrasPackage",
"com.janito.timerspackage": "https://github.com/Janfra/Janito-Unity-Packages.git?path=/JanitoTimersPackage"
}
}This framework is a multi-licensed project. Users must comply with the specific license applicable to each package.
- Janito Timers Package: Licensed under the MIT License (inherited from the original Improved Timers by Adam Myhre).
- Other Packages: Licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).
The Janito Timers Package is a personalised fork of Adam Myhre's work. I have maintained the original license and copyright notices within the package directory as per the legal requirements of the MIT license.
For full details, see the
LICENSEfile within each package directory.