The OSK Framework is a modular Unity framework designed to streamline game development. It provides tools to manage game systems like events, localization, sound, and more, ensuring high performance, scalability, and maintainability.
**version 2.0
**link: https://github.com/O-S-K/Osk-Framework/tree/main/Runtime/Scripts/Core
- [MonoManager]: Centralized management for MonoBehaviours, lifecycle control.
- [ServiceLocatorManager]: Provides a service locator pattern for dependency resolution.
- [ObserverManager]: Implements the Observer Pattern for decoupled event-driven communication.
- [EventBusManager]: Facilitates event broadcasting and subscription across systems.
- [FSMManager]: Manages Finite State Machines for state-driven behaviors.
- [PoolManager]: Efficiently handles object pooling to improve memory usage and performance.
- [CommandManager]: Supports command pattern for undoable actions and player input recording.
- [SceneManager]: Manages smooth scene transitions and scene-specific logic.
- [ResourceManager]: Handles resource loading, caching, and unloading.
- [StorageManager]: Provides mechanisms for saving and loading persistent data.
- [DataManager]: Manages runtime and persistent game data.
- [NetworkManager]: Handles networking, multiplayer, and server communication.
- [WebRequestManager](: Simplifies making HTTP requests and processing responses.
- [GameConfigsManager]: Centralized management of game configuration settings.
- [UIManager]: Manages UI screens, transitions, and dynamic content.
- [SoundManager]: Controls background music, sound effects, and audio events.
- [LocalizationManager]: Handles multi-language support and localization.
- [EntityManager]: Manages game entities and their lifecycle.
- [TimeManager]: Provides advanced time tracking, countdowns, and scheduling.
- [NativeManager]: Supports platform-specific features like vibration, GPS, and notifications.
- [BlackboardManager]: Facilitates shared data storage for AI and gameplay logic.
- [ProcedureManager]: Manages game procedures and workflows for structured gameplay logic.
- Required: Odin Inspector, DOTween
- Optional: UIFeel, UIParticle
- Go to Window → OSK-Framework → CreateFramework to set up the structure.
- Use Create Module and Create Config to enable and configure modules.
- Navigate to MainModules and activate the features you need.
- Create ScriptableObjects for resources:
- Right-click in
Assets
→ Create → OSK → Select the desired SO type (e.g., ListMusicSO, ListSoundSO).
- Right-click in
Use the Main
object to interact with the systems:
- Pooling:
Main.Pool.Spawn<T>()
- UI:
Main.UI.Open<T>()
- Events:
Main.Event.Add("EventName", callback)
- Sound:
Main.Sound.Play()
- Storage:
Main.Storage.Save<T, U>()
- Modular: Enable only the features you need for your project.
- Reusable: Modules can be reused across multiple games.
- Optimized: Organized management of game systems for better performance.
- Email: [email protected]
- Facebook: OSK Framework