UMU, modular tools for Unity, by BMSoft1024

    UMU

    Modular tools for Unity

    Version 1.0.0 · Upcoming

    UMU is a collection of independent, editor-integrated modules that automate common, repetitive Unity tasks: panel and popup UI, audio, saving, messaging, logging and build settings. Use the whole package or only the modules you need.

    🧩 Unity 6000.3+ 📦 Precompiled DLLs, no source code ✅ Tested on Windows and Android
    View on the Asset Store Release notes

    The Asset Store page is in preparation; the link goes live on release day.

    UMU, modular tools for Unity, by BMSoft1024

    What you get

    🪟

    GUI Manager

    A panel and popup framework on top of Unity UI. Prefab-based panels, navigation history with a built-in back function, popup layers with a waiting queue and Android back button handling. Transitions run without an Animator, with an optional DOTween engine.

    🔊

    Audio

    A central runtime audio system with an AudioManager singleton, SFX pooling and music crossfade. Mixer routing ducks the music under voice and SFX, and per-channel volume and mute settings are saved automatically.

    🧰

    Common + Utility

    The shared foundation of the other modules: a versioned JSON save manager with optional AES encryption, inspector attributes, reflection and asset helpers and Newtonsoft-based serialization.

    All modules

    🪟

    GUI Manager

    Panel and popup framework on top of Unity UI. Prefab-based panels with automatic constant generation, navigation history with a built-in back function, popup layers with a waiting queue, Android back button handling, input blocking during transitions, fade/slide/scale transitions without an Animator (optional DOTween engine if DOTween is in your project), safe-area fitting, a Panel Overview window and a Panel Optimizer tool.

    🔊

    Audio

    Central runtime audio system: AudioManager singleton, SFX pooling with pitch variation, music crossfade, mixer routing with automatic music ducking under voice and SFX, UI sounds, button and panel open/close sound bridges, extendable string-based sound categories, and per-channel volume and mute settings that are saved automatically.

    🧰

    Common + Utility

    Shared foundation: versioned JSON save manager with optional AES encryption, inspector attributes ([Button], [ShowIf], [ReadOnly], [Required]), reflection and asset helpers, Newtonsoft-based serialization, rich-text helpers, Simplex noise and list shuffling.

    📨

    Messenger

    Message broadcasting between components and scenes with a defined lifetime (indefinite, current scene, next scene), typed payloads and push-style subscriptions that unsubscribe through IDisposable.

    🪵

    Logger and Debug Mode

    Unified logging layer with a dedicated console window, log levels, an in-game debug console, an FPS counter, a screenshot key and a zero-scale transform scanner. Debug features compile only in the editor and development builds.

    🌐

    Internet Checker

    Asynchronous, non-blocking connectivity check with a configurable host list.

    📱

    Hardware Detector

    Rule-based device tier evaluation (GPU, CPU, RAM, resolution, iOS generation) with optional Unity quality level application.

    🤖

    Android Manifest Editor

    Graphical AndroidManifest.xml editor with a validation button for Android 12 to 14 rules.

    🍏

    Xcode Settings Editor

    Edit Xcode project settings inside Unity for iOS builds.

    ✂️

    Audio Cutter

    Cut audio clips inside the editor with a wizard and an asset context menu.

    📦

    Package Exporter

    Export modules as .unitypackage files.

    🔍

    Resource Checker

    Third-party public-domain scene memory audit tool (attribution below).

    Requirements

    Unity
    Unity 6000.3 or newer (maintained and tested on 6000.3.20f1)
    Required packages
    Newtonsoft Json (com.unity.nuget.newtonsoft-json), Input System (com.unity.inputsystem), Unity UI (com.unity.ugui). Not bundled with the package.
    Delivery
    Precompiled assemblies: UMU.dll (runtime) and UMU.Editor.dll (editor only), prefabs, assets, demo scenes and documentation. No C# source code; demo scripts are readable .cs.txt files.
    Tested
    Developed and tested on Windows; the runtime part is tested on Android (IL2CPP, ARM64 phone and x86_64 emulator).

    Code example

    Messenger, internet check and versioned save.
    // Messenger: subscribe with automatic unsubscribe
    using (UMU.Messenger.Messenger.Instance.Subscribe<int>("score", v => Debug.Log(v)))
    {
        UMU.Messenger.Messenger.Instance.SendMessage("score", UMU.Messenger.Message.Lifetime.ActualScene, 42);
    }
    
    // Internet check
    UMU.Net.InternetChecker.Instance.IsConnected(ok => { if (ok) LoadOnlineContent(); else ShowOfflineNotice(); });
    
    // Versioned save with optional encryption
    JsonSaveManager.Save("save1", data, version: 1, encryptionKey: null);
    var loaded = JsonSaveManager.Load<MyData>("save1", out int version);

    Frequently asked questions

    Which Unity version do I need?

    Unity 6000.3 or newer. It is maintained and tested on 6000.3.20f1.

    Is the source code included?

    No. The package ships as precompiled assemblies (UMU.dll and UMU.Editor.dll) with prefabs, assets, demo scenes and documentation. Demo scripts are included as readable .cs.txt files.

    Can I use only some modules?

    Each module works on its own, but most build on the Common module, so import it first.

    Which packages must I install?

    Newtonsoft Json (com.unity.nuget.newtonsoft-json), Input System (com.unity.inputsystem) and Unity UI (com.unity.ugui). They are not bundled.

    Does it need DOTween?

    No. DOTween is optional and detected at runtime; without it the built-in transition engine is used.

    Is there a demo?

    Yes, the full package includes demo scenes (Audio demo, GUI Manager 2D and 3D, Logger, UIE example). A variant without demo content exists for production projects.

    Where do I get support?

    support@bmsoft1024.com, subject "UMU".

    Support and contact

    For questions and bug reports, write to the support address with the subject "UMU".

    Business inquirieshello@bmsoft1024.com

    Third-party credits

    • Resource Checker: public-domain editor tool by HandCircus / Mangatome, with the original attribution kept in the source, modernised for Unity 6.
    • Simplex noise: based on Gustavson's implementation, with the FastFloor negative integer bug fixed.
    • MiniJSON: lightweight JSON reading and writing for internal use.