OSK Framework is a lightweight, modular, and high-performance Unity architectural framework designed for professional game development. It features zero runtime GC allocations in core loops, an isolated Multi-Canvas UI system, and a modern MVVM-like Universal Data Binding engine.
Click on any module to view its detailed documentation, API reference, code examples, and performance guidelines:
- ⏱️ Centralized Tick System (MonoManager) — centralizes Update, FixedUpdate, and LateUpdate loops to eliminate native C++/C# boundaries.
- 📦 Object Pooling (PoolManager) — high-performance
$O(1)$ object and component recycling system withIPoolablecallbacks. - ✉️ Event Bus System (EventBusManager) — decoupled, type-safe global publish-subscribe event hub.
- 🔊 Sound Manager (SoundManager) — handles BGM, SFX, UI audio, cross-fade transitions, and automatic volume persistence.
- 🎨 UI Manager & UniversalBinder (UIManager) — multi-canvas layout isolation (Screen, Popup, Notif, Overlay, Lock) coupled with a zero-reflection MVVM Data Binding engine.
- 💾 Local Storage (DataManager) — encrypted game save storage and optimized PlayerPrefs alternatives.
- 🔀 Game FSM (ProcedureManager) — structured game loop flow states using finite state machine nodes.
- 🌐 Localization System (LocalizationManager) — multi-language translation and dynamic language swapping.
- 📓 Shared Blackboard (BlackboardManager) — key-value database for AI decision-making (Behavior Trees) and shared parameters.
- 🛠️ Utility Managers (Command, Observer, Director, Resources...) — auxiliary managers for scene transitions, Undo/Redo commands, resource caching, and input handling.
Ensure the following packages/assets are installed:
- Odin Inspector & Serializer (Required for premium Editor UI)
- DOTween (O-S-K Fork)
- Newtonsoft.Json (
com.unity.nuget.newtonsoft-jsonvia Package Manager) - UniTask (High-performance async helper)
Recommended first-time setup:
- In the Unity Editor top menu, go to: OSK-Framework -> Setup -> Quick Setup.
- Choose a preset:
CoreOnly: core loop, event, data, resource, config, procedure.UIBasedGame: common game setup with UI, sound, pool, input, localization.FullFramework: all OSK modules.
- Click Setup Current Scene.
- Select the generated
Mainobject, review modules/config references, then press Play. - Use the Generators foldout to create first UI View, Save Data, Game Event, Procedure, Pool config entry, and Sound ID.
- Open Quick Use Guide when you need the shortest module-by-module usage map.
Manual setup is still available:
- Go to OSK-Framework -> Create -> Framework.
- Select
Mainin the hierarchy. - Choose modules in Main Modules and click Sync Modules (Hierarchy).
- Zero GC Spawning: Avoid instantiating entities or particle effects. Recycle them using the PoolManager.
- Avoid Update Loops: Centralize updates in game loops using the Centralized Tick System to save CPU instructions.
- Layout Rebuild Isolation: Keep dynamic UI elements inside independent canvases to limit canvas redrawing, as detailed in the UIManager Guide.
- Facebook Group: OSK Framework Community
- Email Contact: gamecoding1999@gmail.com