A modular Unity foundation for building UI, menus, flows and settings that integrates cleanly without replacing your architecture.
Docs and website: https://m4g1c3lf.github.io/serenityCompatible with Built-in Render Pipeline, URP, and HDRP.The package does not include custom shaders or SRP-specific rendering logic.Visual appearance may vary slightly depending on the active render pipeline, but functionality is unaffected.Serenity – Game Systems Foundation is a calm, production-ready foundation for Unity projects that provides a shared layer for UI, flow and settings — without forcing you into a rigid framework or base project.Serenity is designed to fit into existing games, not replace their architecture. It acts as an infrastructural layer that connects gameplay systems to menus, navigation, settings and UI flow in a clean and predictable way, reducing coupling and repetitive boilerplate.Instead of rebuilding menus, settings screens, audio options and UI flow in every project, Serenity gives you a stable foundation you can rely on from early prototypes to long-term productions.What Serenity providesShared UI, flow and settings foundationA single, consistent layer for menus, navigation, screen flow and configuration.Non-intrusive integration with gameplay systemsConnect existing gameplay systems to UI without restructuring your architecture.Structured Menu and screen flow managementExplicit handling of menus, screens, modals and navigation states.Centralized settings and configuration UIReady-to-use patterns for audio, graphics, language and other runtime settings.Modular and extensible structureUse only the parts you need and extend them to fit your project.Built for scalability and long-term maintenanceSuitable for prototypes, live projects and long-running productions.Clean Architecture and Domain-Driven Design inspiredClear boundaries, explicit responsibilities and installer-based setup.Designed for maintainabilitySerenity is intentionally focused on being a quiet, reliable foundation that supports your project without getting in the way.It does not try to be a “do-everything framework”.It can function as:A lightweight UI foundationAn infrastructural layer alongside existing Unity UI systemsA long-term structural base for scalable projectsWho it is forSerenity is designed for developers who value long-term maintainability and clean structure over short-term hacks.It is a good fit for:Developers building multiple projects who need consistencyTeams with existing gameplay systemsProjects that require structured UI and flow without architectural lock-inMinimum Unity versionUnity 6 LTS (recommended and required minimum)Key systemsShared UI, view and navigation foundationUnified system for menus, views, modals and navigation states, including view lifecycle and routing.Non-intrusive integration with gameplay systemsDesigned to connect existing gameplay logic to UI and flow without forcing architectural changes.Core runtime orchestrationInitialization pipeline, task scheduling, timers, global services and event dispatching for predictable startup and execution flow.Centralized settings and configuration UIReady-to-use configuration patterns for audio, graphics, language and system settings.ScriptableObject-driven configurationMenus, input, audio, localization and system behavior configured via ScriptableObjects.Safe persistence and file managementFile persistence with atomic writes, platform-specific file system services and data safety guarantees.View flow and screen managementStructured handling of screen transitions, modal dialogs, view browsing and UI state.Audio systems orchestrationMusic and SFX playback, audio mixers, cross-fading and runtime audio control.Input abstraction and device handlingUnity Input System integration with player join/leave, device policies and prompts.System configuration and platform providersGraphics settings, system monitoring and platform-specific providers (Windows / Linux).Asset prefetching and cachingAddressables-based preloading for smooth scene and menu transitions.Logging and diagnosticsConsole and file logging with structured entries and configurable verbosity.Documentation toolingIn-code XML documentation with DocFX generation and menu-integrated documentation entries.Included ModulesSerenity includes modular, reusable systems that cover the most common foundations needed in Unity projects:UI & MenusMenu and screen generationNavigation and screen flowModal dialogsView browsing utilitiesTheme configuration and UI stylingAudioSFX and music playbackAudioMixer routing and setupMusic controller and cross-fadingInputUnity Input System integrationPlayer input and device handlingDevice policies and primary input detectionInput prompts and onboarding flowsCore ServicesInitialization pipeline and installersEvent dispatchingTimers and schedulingLogging and diagnosticsSystem configuration servicesTooling & InfrastructureAsset prefetching and caching (Addressables)File persistence utilitiesLocalization hooksGraphics settings helpersSystem providers (platform-level abstractions)Customization workflowA typical customization workflow looks like this:Clone the template and set up your project.Define menus, themes, input rules, audio, and system settings using ScriptableObjects.Assign or extend installers to register services per platform or build target.Style menus via theme assets and extend UI components using custom factories.This approach allows teams to adapt the framework to different genres and production pipelines without modifying core systems.Supported platformsPCWindowsGNU/LinuxmacOSMobileAndroidiOsConsoles (via Unity standard build pipelines)Supported via Unity standard build pipelines (PlayStation, Xbox, Switch).Supported operating systems (development)Windows 10/11GNU/LinuxmacOSDocumentationIn-code XML docs + DocFX site (add your public docs URL when ready)Example scenes demonstrating menu generation, theming, and prefetching



