com.utilities.encoder.wav

November 2, 2025 ยท View on GitHub

Discord openupm openupm

Simple library for WAV encoding support in the Unity Game Engine.

Installing

Requires Unity 2021.3 LTS or higher.

The recommended installation method is though the unity package manager and OpenUPM.

Via Unity Package Manager and OpenUPM

Terminal

openupm add com.utilities.encoder.wav

Manual

  • Open your Unity project settings
  • Select the Package Manager scoped-registries
  • Add the OpenUPM package registry:
    • Name: OpenUPM
    • URL: https://package.openupm.com
    • Scope(s):
      • com.utilities
  • Open the Unity Package Manager window
  • Change the Registry from Unity to My Registries
  • Add the Utilities.Encoder.Wav package

Via Unity Package Manager and Git url

Warning

This repo has dependencies on other repositories! You are responsible for adding these on your own.


Documentation

Table of Contents

Recording Behaviour

Simply add the WavRecorderBehaviour to any GameObject to enable recording.

This will stream the recording directly to disk as it is recorded.

Audio Clip Extensions

Provides extensions to encode AudioClips to WAV encoded bytes. Supports 8, 16, 24, and 32 bit sample sizes.

Encode WAV

Encodes an AudioClip to a WAV formatted byte[] or NativeArray<byte>.

Warning

The resulting NativeArray<byte> must be disposed of manually to avoid memory leaks, you can adjust the allocator type by passing in an optional parameter.

byte[] bytes = audioClip.EncodeToWav();
using NativeArray<byte> bytes = audioClip.EncodeToWavNative();
byte[] bytes = await audioClip.EncodeToWavAsync();
using NativeArray<byte> bytes = await audioClip.EncodeToWavNativeAsync();