OxHeart – Game Framework for Unity
Production-ready Unity 6 framework: service locator, audio, async saves, localization, deterministic RNG, events, pooling & Addressables; modular, documented, test-covered.
by Games by MooMoo
Price History +
OxHeart is a modular Unity 6 game-development framework that gives you production-grade versions of the systems every game rebuilds from scratch without locking you into a genre or art style.
Toggle services on or off. Extend the engine with your own game services. Ship on desktop and mobile with IL2CPP-safe patterns and docs written for real projects.
Built for Unity 6000.0+ Pipeline-agnostic (works with Built-in, URP, and HDRP).
⚠️ Required before importing — Newtonsoft JSON and Addressables
OxHeart compiles against Unity's free Newtonsoft JSON and Addressables packages, and a Unity package (.unitypackage) does not auto-install dependencies so add both before you import:
1. Open Window → Package Manager
2. Click the + button → Add package by name…
3. Enter com.unity.nuget.newtonsoft-json and click Add
4. Repeat for com.unity.addressables (version 2.9.1+)
5. Import OxHeart once both finish installing
If you import first and see missing Newtonsoft or Addressables types, add the packages above and let Unity recompile. Addressables is a compile-time dependency; using it at runtime remains optional, and the default configuration uses Resources until you enable Addressables.
Why OxHeart?
⚡ Modular by design: Enable only what you need via ServiceConfiguration ScriptableObjects. Core-only for prototypes; full stack for production.
🏗️ Clean architecture : Service Locator + interfaces (IAudioService, ISaveSystem, IEventManager, …). No singleton soup. Game-specific services register via auto-discovered IServiceRegistrar.
📦 Addressables-ready : IResourceService loads via Addressables with Resources fallback. AssetReference support included.
🎲 Deterministic gameplay : Named RNG streams, snapshot save/load, ModelDb content registry, TypedPoolBag, and AntiPityOdds for roguelike/deckbuilder-style systems.
💾 Saves/Loads : Async save/load, encryption & compression, per-domain schema migration, corrupt-file quarantine, pluggable ISaveStore backends.
🔊 Audio that scales : Tracks, pooling, fades, and a Music Playlist Service with gapless crossfade and per-track gain.
🌍 Modern localization : CSV tables plus LocString / DynamicVar for tooltips, upgrades, and runtime substitution.
📚 Documented & tested : Quickstart guide, per-system docs, architectural decision records, bundled samples, and extensive EditMode/PlayMode test coverage.
Key features
- Service Locator & Initializer: ImprovedGameInitializer , dependency ordering, Setup Wizard, Default/Minimal presets
- Type-safe Event Bus: Pooled events, safe listener dispatch, MonoBehaviour extensions
- Resource Management: Addressables-first, async loading, memory budget, AssetReference API
- Object Pooling: Spawn/Despawn extensions, pre-warming, statistics
- Audio System: Multi-track mixer support, fades, 3D audio, source pooling
- Music Playlists: Shuffle/sequential modes, equal-power crossfade, preload lookahead, now-playing metadata
- Save System: Multi-slot, auto-save, quick-save, migration chains, quarantine on corrupt files
- Localization: Multi-language CSV, runtime language switch, LocString formatters
- Time Service: Global pause, channels, timers, scheduler
- Game State Manager: Extensible state machine (Menu / Gameplay / Paused + custom states)
- Notifications: Categorized in-game messages with priority and duration
- Deterministic RNG: SplitMix64 streams, save snapshots, test override injection
- Content Registry ( ModelDb ): IL2CPP-safe explicit registration, canonical/mutable AbstractModel boundary
- Probabilistic utilities: TypedPoolBag , AbstractOdds , AntiPityOdds
- Logging: Sink-based OxLogger + game-facing GameLogger
- Extensibility: IServiceRegistrar , inspector-driven custom services, LateInitialize() hook
What's Included
- Four runtime assemblies plus editor tooling and default configuration assets
- 13 importable samples: Basic Audio, Data Persistence, Event System, Game Settings, Game State, Localization, Notifications, Object Pooling, Deterministic RNG, Resource Management, Scene Management, Third-Party Notices, and Core Script Examples
- 14 playable scenes, including the two-scene Scene Management transition demo
- 33 documentation guides: https://oxheart.moomoo.games/latest/
- Root link.xml for IL2CPP managed stripping protection
Platform Support
- Windows, macOS, and Linux - Mono and IL2CPP
- iOS and Android - IL2CPP
⚠️ WebGL is not supported because async save/load, obfuscation, and file logging use background threads.
Important scope notes
⚠️ Not a genre template - OxHeart is infrastructure and provides systems, not a complete RPG/FPS/RTS template. You bring gameplay, art, and scenes.
⚠️ There is no networking, multiplayer, cloud-save adapter, input service, tweening library, or general UI framework.
⚠️ The Input System package is optional; the engine never reads input, and samples adapt to the available input backend.
⚠️ No AI model, inference runtime, or AI service call is included.
LEARN MORE AND SUPPORT
• Documentation: https://oxheart.moomoo.games/latest/
• Architecture guide: https://oxheart.moomoo.games/latest/Architecture/
• Dev logs: https://moomoo.games/#/devlog
• Support: unitysupport@moomoo.games · https://moomoo.games
When reporting an issue, include your Unity version, OxHeart version, platform, and steps to reproduce.