Procedural footstep engine - zero audio files. Synthesizes every step in real time from physical parameters. Surface-aware, animation-driven, allocation-free DSP.The Procedural footstep engine synthesizer works with all render pipelines (it has no dependancy on rendering) the included demo scene is setup using the URPNo samples. No loading. Infinite variety.Procedural Footstep Synthesizer System generates every footstep sound mathematically at runtime using a multi-layer DSP engine. Shoe impact, surface resonance, scrape texture, and wetness are all synthesized from scratch on each step, so no two footsteps are ever identical, memory overhead is zero, and adding a new surface type takes seconds instead of hours of recording sessions.How it soundsThe engine models the physical reality of a footstep in four independent layers that combine in real time:- Transient the sharp percussive strike of the shoe, shaped by mass and sole hardness- Modal resonance the surface ringing after impact, with controllable pitch, decay, inharmonicity, and irregularity- Texture / drag the scrape or crunch as the foot settles, from crunchy dry leaves to smooth stone-on-stone- Wetness layered mud squelch or water splash, continuously variable from deep bog to shallow puddleEvery layer is controlled by a single normalised 0–1 parameter, making it fast to design presets and trivial to blend or vary them at runtime.Design without writing codeThe included Foley Sound Stage is a fully built in-scene UI playground. Load your preset library, scrub every parameter with live sliders, and hear the result immediately, all in Play Mode with zero scripting. An integrated Auto-Play Sequence mode cycles through your entire preset list automatically for rapid A/B comparison.The FoleyPreset Inspector goes further: enable auto-play on Change and any slider movement in the Inspector retriggers an offline-rendered preview instantly without ever entering Play Mode. Unity's editor audio system plays back a full-quality synthesized clip in real time as you design.Drop-in runtime integrationWiring the system into an existing character takes five minutes:Add one AudioSourceBridge component to a scene GameObject this is the single audio output hub for the entire engine.Add SurfaceResolver to your character root. It listens for OnFootstep and OnLand animation events, raycasts downward to detect the surface type, and fires the synth automatically.Configure a SurfaceResolverSO to map your scene's physics materials, terrain paint layers, renderer materials, tags, or layers to one of ten built-in surface types.Configure a SurfacePresetSO to map each surface type to an authored FoleyPreset.That's the entire integration. No changes to your Animator, no prefab replacements, no audio mixer routing required. Works with Unity's CharacterController and any third-party controller that drives an Animator.Built for performanceThe DSP graph runs entirely on Unity's audio thread with no per-frame garbage. FootstepParams is a blittable value-type struct DSP expansion is a pure function that runs on the calling thread before a single command enters the lock-free ring buffer. The voice pool is pre-allocated at startup; voice stealing is priority-based and fully configurable.Included in the package- Fully playable Demo Scene with a third-person character and varied surfaces- 6 ready-to-use FoleyPreset assets Concrete, Metal, Wood, Mud, Puddle, Sand- Foley Sound Stage scene pre-wired and ready to launch- SurfaceResolver base class designed for subclassing override OnSurfaceResolved to add speed-based gain, crouch modifiers, or any custom logic- Full C# source codeCore Technology- 100% procedural synthesis no audio files, no streaming, no loading- Multi-layer DSP graph: transient impact, modal resonance (8-mode filter bank), texture/scrape, wetness- Lock-free command queue between game thread and audio thread — zero allocations at runtime- Pre-allocated voice pool with configurable polyphony (up to 128 voices)- Priority-based voice stealing with configurable per-preset priority (0–10)Parameter Design- 15 normalised (0–1) `FootstepParams` fields covering: Shoe Mass, Shoe Hardness, Heel-Toe Delay, Surface Pitch, Surface Inharmonicity, Surface Damping, Surface Resonance, Surface Irregularity, Drag Duration, Impact Delay, Texture Character, Texture Sharpness, Wetness Character, Wetness Amount, Mix Transient, Texture Amount- Per-preset `FoleyVariation` struct for configurable per-field random range natural shot-to-shot variation with a deterministic PRNG seedSurface Detection- SurfaceResolverSO resolves surface type from a downward SphereCast in five fallback tiers: Terrain splatmap layer → Physics Material → Renderer Material → GameObject Tag → Layer- 10 built-in SurfaceType enum values: Default, Concrete, Metal, Wood, Grass, Gravel, Sand, Mud, Puddle, Snow- SurfacePresetSO maps surface types to FoleyPreset assets with automatic Default fallbackEditor Tooling- Offline rendering preview in Edit Mode synthesizes a 44100 Hz stereo 3-second buffer and plays via Unity's editor audio preview system (no Play Mode required)- Auto-play on Change mode retriggers preview on every Inspector slider edit- Per-preset FootstepSynthSO selection persisted via EditorPrefs- Foley Sound Stage runtime UI: preset dropdown, transport controls, live parameter sliders, auto-play sequence, PRNG variation toggleRequirements & Compatibility- Unity 2022.3 LTS or newer- Universal Render Pipeline (URP) demo scene requires URP; core audio system is render-pipeline agnostic- Input System package (demo scene)- No third-party dependencies- Full C# source includedThis asset uses "Roboto Font" under SIL OPEN FONT LICENSE Version 1.1, "Material Design Icons" under Apache License Version 2.0 and "Starter Assets - ThirdPerson | URP" under Unity Companion License; see "Third-Party Notices.txt" file in package for details.Machine learning used for Footstep Synth Parameter estimation powered by Optuna and Pytorch.





