GregOrigin - Sonant: Native Contextual Audio Middleware

Watch the promo video.

Read the GitBook docs.

STOP EDITING PROJECT SETTINGS.

Standard Unreal Engine audio implementation is a workflow bottleneck. To get basic footsteps, you have to define dozens of Physical Materials, assign them to every Material Instance, and build complex "Switch on Enum" graphs. To handle ambiance, you have to build elaborate Blueprint logic to detect when a player enters a Cave inside a Forest without breaking the mix.

MEET SONANT.

Sonant is a high-performance Gameplay Audio Manager that treats audio as Logic, not just Content. It runs entirely as a native Game Instance Subsystem.

CORE FEATURES:

1. INTELLIGENT SURFACE DETECTION (The "Zero-Config" Engine)
Sonant "reads" your specific context. Instead of relying solely on Physical Materials, Sonant scans the distinct name of the Material Interface (e.g., M_Temple_Stone_Wet) and matches it against a keyword registry you define.

  • The Workflow: Map the keyword "Stone" to your Stone Sound Pack once. Now, every material in your project with "Stone" in the name works instantly.

  • The Performance: Surface resolution is cached at runtime. The string search runs only once per material asset. Every subsequent footstep is a generic

    O(1) pointer lookup.

2. PRIORITY-BASED ATMOSPHERES (The "Wwise-Lite" Mixer)
Solved: The "Cave inside a Forest" problem.
Sonant replaces standard Sound Mix Modifiers with a Weighted Priority Stack.

  • Tag your volumes (e.g., Indoor, Underwater, Combat).

  • Assign a Priority Integer to each tag in the Config.

  • Sonant automatically calculates the highest-priority active tag and blends the correct Audio Modulation Control Bus instantly. No visual scripting required.

3. NATIVE C++ PERFORMANCE
Your game thread is precious. Sonant adds zero components to your Character. It contains no ticking actors. All logic is event-driven via the C++ Subsystem.

4. METASOUND READY
Fully compatible with UE 5.7+ MetaSounds. Drive procedural footsteps (walk vs. run) by plugging a MetaSoundSource directly into the Sonant registry.

Sonant Changelog

2026-03-11

🚀 Major Architectural Upgrades

  • Massive Performance Overhaul: Refactored the core USonantSubsystem to completely eliminate Game Thread synchronous loading hitches. The TSoftObjectPtr configuration is now loaded exactly once during Initialize() and cached as a hard TObjectPtr, dropping per-frame/per-hit lookup times down to pure O(1) memory access.
  • Amortized Raycasting (Auto-Reverb): Completely rewrote the UpdateReverb logic. Instead of firing 6 expensive, synchronous physical line traces in a single tick to calculate room volume, Sonant now amortizes the traces by performing exactly 1 trace per interval, drastically reducing CPU spikes while maintaining fluid, real-time spatial awareness.
  • Multiplayer & Networking Component: Introduced USonantNetworkComponent. Developers can now drop this replication helper onto their Pawns or Weapons to instantly gain standard Server and NetMulticast RPC wrappers for both Footsteps and Impacts, fully resolving the prior local-only subsystem limitation.
  • True BSP Volume Support: Introduced ASonantBSPVolume. Level Designers are no longer restricted to using primitive UBoxComponent shapes for ambient zones. They can now use standard Unreal Engine BSP brush tools to map complex, non-rectangular acoustic atmospheres (e.g., winding caves, angled corridors).

✨ New Features & API Enhancements

  • Generic Impact Intensity API: Added PlayImpactByIntensity(Location, Intensity). This allows developers who don't use standard Unreal Physics (e.g., custom kinematic controllers or line-trace weapons) to trigger dynamic impact audio simply by passing a normalized float (0.0 to 1.0), decoupling the audio engine from rigid physics mass requirements.
  • Configurable Gameplay Tags: Removed all hardcoded internal C++ strings. The base routing tags for events (e.g., Sonant.Event.Footstep, Sonant.Event.Impact.Heavy) are now fully exposed in the Project Settings via USonantSettings, allowing developers complete control over their tag hierarchies without touching source code.
  • Spectator / Free-Cam Reverb: Upgraded Auto-Reverb tracing to intelligently query GetViewTarget() before falling back to GetPawn(). Cinematic cameras, unpossessed vehicles, and free-cam spectators will now calculate correct spatial audio.

🛠 Demo & Onboarding Improvements

  • "Acoustics Laboratory" Showcase: Completely scrapped and rewrote SonantFeatureDemo. It is now an interactive 4-wing lab that perfectly spaces out and visually explains:
    • North Wing: Material Walkway (Footstep testing).
    • East Wing: Dynamic Reverb Chambers (Closet, Hall, Cavern volumes).
    • South Wing: Physics Impact Arena (Live simulation pit).
    • West Wing: Atmosphere Tag Volumes (Overlapping nested state visualization).

⚙️ Build & Compliance

  • Unreal Engine 5.6 Compatibility: Fixed a backwards-compatibility bug regarding EPhysicalSurface missing from ChaosEngineInterface.h in older engine builds.