Skip to content

Audio

HxEngine’s audio is a C# software mixer built over MiniAudio (for decoding and device output), with NWaves providing DSP. It’s event-driven, like a game-audio middleware.

Gameplay code posts events rather than playing files directly:

PostEvent("Play_Footstep", entity)
→ resolve the audio event asset
→ pick a sound from its container (random / sequential / weighted)
→ allocate a voice and play

This keeps sound design in assets, not code.

  • Hierarchical buses — a bus tree with volume/mute cascading to a master output.
  • Effect chains — ordered insert effects per bus with wet/dry processing.
  • Sends — route to aux/return buses (e.g. a shared reverb), pre- or post-fader.
  • Voice management — a voice pool with priority, virtualization and stealing.
  • Automation — animate bus, effect and send parameters from curves at runtime.

Filters and dynamics processors are available as bus inserts — low/high/band-pass filters, compressor, and more.

  • 3D positional audio via emitter and listener components (the listener usually follows the camera).
  • Voice lines with subtitle events, organised into voice banks.