Serenity features
More than thirty reusable Unity systems documented one by one: menus, modals, themes, localization, audio, game modes, cameras, gameplay systems, feedback, events, input and more.
Core
-
Event Dispatcher
Typed signals dispatched through a service, with auto-registration support and no static singletons.
-
Input System Integration
A player input gateway that routes Unity Input System actions to menus, gameplay and UI navigation through clean services.
-
Initialization Pipeline
An ordered async pipeline that runs your Unity startup tasks with criticality levels, weighted progress and telemetry streaming to any loading screen.
-
Structured Logging System
A category-aware, severity-filtered logging service that routes structured entries to console and file outputs through clean, Unity-free domain interfaces.
-
Game Timer System
A named timer registry that centralizes per-frame ticking, lets each timer choose scaled or unscaled time, and keeps game session, pause and cutscene timing in one place.
Configuration
-
Game Settings
Typed get and set use cases for bool, int, float and string settings, with persistence and update signals built in.
-
Hardware and System Configuration
A layered service that captures a point-in-time hardware and OS snapshot at boot and exposes it to adaptive quality, analytics and crash reporting.
-
Graphics Settings System
A graphics service that persists quality level, resolution and fullscreen state through Game Settings and broadcasts every change via the Event Dispatcher.
-
Data Persistence Layer
A port hierarchy that decouples save contracts from Unity backends so file storage, PlayerPrefs and encryption can all change without touching game code.
-
Asset Prefetcher
A runtime Addressables memory cache with a configurable byte budget and LRU eviction, prewarmed by label at boot and inspectable live through a runtime Cache Inspector.
User Interface
-
Menu System
Declarative menus, shared UI themes and predictable navigation, configured as assets instead of hand-wired GameObjects.
-
Modal System
Reusable confirmation, alert and prompt modals driven by typed signals and shared parameters.
-
Localization System
Runtime language switching, separate game and voice language tracks, and localized menus and modals out of the box.
-
UI Themes
ScriptableObject-based UI themes that share visuals and sound feedback across menus, modals and screens.
-
View Navigation and History
A provider-agnostic navigation stack that pushes views, tracks history and brings back-button support to any Unity UI without coupling to a specific menu or router.
-
HUD System
A HUD is a set of anchored elements bound to real game data through authored chains — built visually, validated automatically, and zero-migration as it evolves.
Media & Cinematics
-
Audio Player
Centralized clip playback with definition assets, emitters and typed signals for UI and gameplay sounds.
-
Music Player
Background music driven by track definitions, configurable transitions and typed signals you can hook into game state.
-
Sound Mixer
Per-category volume settings that drive your Unity Audio Mixer and persist through Game Settings.
-
Sequence Player
One generic async engine for every ordered multi-step flow — tutorial prompts, boss intros, phase changes — played by the same service, declarative instead of nested coroutines.
-
Cutscene Player
An ordered, timed cutscene player that plays fades, Unity Timelines and waits safely during boot, with a wizard and a live Timeline preview for authoring.
Gameplay
-
Game Mode System
Typed game state transitions with signals, pause strategies and a readiness gate that other systems can subscribe to.
-
Checkpoint System
A slot-based checkpoint service that separates the business rule of when to save from the storage detail of how and where.
-
Game Session Management
A centralized session service that owns the lifecycle of every run — status, elapsed time and identity — so no subsystem has to duplicate it.
-
Multi-Metric Scoring System
A dynamic scoring model that tracks any number of named metrics through a single service, returning immutable snapshots the game rules never have to own.
-
On-Rails Movement System
A passive, snapshot-based rail service that tracks normalized 0–1 progress along named node paths, keeping movement, AI and camera systems fully decoupled.
-
Object Spawner and Pooling
An entity spawning service that abstracts object pooling behind opaque handles so game logic never touches engine instantiation directly.
-
Game Camera System
One service that knows every camera in the scene, switches the active one without breaking your rigs, and lays out split-screen automatically.
-
Leaderboard System
A complete leaderboard stack — deterministic ranking, pluggable storage and a themeable UI — configurable end to end without writing a line of code.
-
Game Saves & Progress
Save slots with extensible sections for per-playthrough state, and a separate global progress aggregate for what should survive a deleted save.
-
Wave System
A wave spawner that scripts who spawns, where and when, chains waves into auto-advancing sets, and spawns them at named points on the stage that hosts them.
-
Character System
A character archetype system that validates every grunt, heavy and boss as data, tracks each live instance through its full lifecycle, and pairs with a pure weapon state machine for combat.
Game Feel & Feedback
-
Gamepad Rumble and Controller Lighting
A single feedback service that drives dual-motor rumble, LED lightbar color and Switch Pro HD vibration across PS5, PS4, Nintendo Switch Pro and generic gamepads.
-
DualSense Adaptive Triggers
Author DualSense adaptive trigger effects as ScriptableObject data and play them through a single service call — no HID code, no per-pad wiring.
-
Screen Shake, Hit Stop and Screen Flash
Screen shake, camera shake, UI shake, hit stop and full-screen flash — all authored in one FeedbackDefinition and triggered by a single service call.
-
Procedural Animator
Engine-agnostic procedural motion that composites additive PoseDelta contributions from weighted layers, lifecycle-driven actions and one-shot activation sequences — across five declared channels — onto any rig, prop or UI element.
English
Español
Català