// the find
cleavetv/unity-framework
An application framework for C# Unity3D game projects
CleaveFramework is a Unity3D application framework that brings IoC container patterns — dependency injection, command queuing, scene-scoped vs. global object management — into Unity C# projects. It's aimed at developers who want MVC-style separation between game logic and MonoBehaviour lifecycle without reaching for a full engine like Zenject or Extenject. At v0.2.5 and last touched February 2024, it's effectively unmaintained.
The scene/global object split is a genuinely useful distinction that Unity's own architecture ignores — global objects persist across scenes, scene objects are scoped and cleaned up automatically. The command queue gives you a synchronous event bus without the string-key fragility of Unity's SendMessage. DI is attribute-based ([AInject]) which keeps bindings in code rather than editor config, making them refactor-safe. Documentation is unusually thorough for a 91-star project — nearly every class has its own doc file.
Last commit is February 2024 and the latest Unity LTS (6000.x) has moved enough that API compatibility is uncertain — especially around UnityEngine.SceneManagement, which the framework wraps. The DI injector uses reflection at runtime, which will cause problems on IL2CPP builds without explicit link.xml preservation entries; the README doesn't mention this at all. At 91 stars it has essentially no community, so you're on your own when something breaks with a Unity upgrade. The bundled SharpZipLib and SimpleJSON as raw files in a plugins folder is a red flag — no package manifest, no version pinning, no UPM support.