Skip to main content
Module: LCKWwise | Version: 0.9.2 | Platforms: Win64, Android

Overview

LCKWwise provides integration with Audiokinetic Wwise, capturing game audio output for recording. This plugin hooks into the Wwise audio system to capture the final mixed output.

Supported Channels

ChannelSupportedDescription
GameYesWwise master bus output
MicrophoneNoUse LCKUnrealAudio or LCKOboe
VoiceChatNoUse LCKVivox

Requirements

LCKWwise requires the Wwise plugin which must be downloaded separately from Audiokinetic. The LCKWwise plugin is disabled by default and will not compile without Wwise installed.
  • Wwise plugin for Unreal Engine
  • Wwise project configured in your game
  • Valid Wwise license

Dependencies

// Add to your .Build.cs
PublicDependencyModuleNames.AddRange(new string[] {
    "LCKWwise",
    "LCKAudio",
    "AkAudio"
});

Automatic Integration

The plugin automatically:
  1. Detects Wwise plugin presence
  2. Registers output capture callback
  3. Registers with the LCK audio system

Capture Point

LCKWwise captures audio from the Wwise output stage after all processing:
┌─────────────────────────────────────────┐
│           Wwise Sound Engine            │
├─────────────────────────────────────────┤
│  Events → Actor-Mixer → Master Bus      │
│                    ↓                    │
│              Final Mix                  │
└────────────────────────┬────────────────┘

                  ┌──────▼──────┐
                  │  LCKWwise   │
                  │  Capture    │
                  └─────────────┘

Technical Details

Capture Callback Registration

The plugin registers a capture callback with the Wwise sound engine:
bool FLCKWwiseSource::StartCapture() noexcept
{
    if (auto* SoundEngine = IWwiseSoundEngineAPI::Get())
    {
        AkOutputSettings OutputSettings;
        OutputSettings.channelConfig = AkChannelConfig::Standard(AK_SPEAKER_SETUP_STEREO);
        SoundEngine->AddOutput(OutputSettings, &OutputDeviceId);
        SoundEngine->RegisterCaptureCallback(WWise_CaptureCallback, OutputDeviceId, this);
        Samplerate = SoundEngine->GetSampleRate();
    }
    return true;
}

Ambisonic Support

The plugin supports 3rd-order ambisonic (16-channel) to stereo conversion:
// B-format decoding matrix for stereo
// Coefficients derived from spherical harmonics for +/-30 degree speakers
const float LeftMatrix[16] = {
    0.707f, -0.612f, 0.0f, -0.353f, 0.223f, -0.223f, 0.0f, -0.096f,
    0.096f, 0.0f, 0.05f, -0.05f, 0.0f, 0.02f, -0.02f, 0.0f
};
Audio FormatChannelsHandling
Stereo2Direct passthrough
3rd Order Ambisonic16Decoded to stereo
Ambisonic decoding is limited to 3rd-order (16 channels). Higher-order ambisonics are not supported.

Configuration

Sample Rate and Channel Configuration

We recommend setting Sample Rate to 48000 and Channel Config Type to Standard (rather than Anonymous or Ambisonic). Wwise configuration

Channel Settings

Setting Channels to 2 sometimes resolves audio issues. These settings need to be configured separately for Android and Windows, depending on your target platforms. Wwise channel settings
Voice chat and game audio must match in samplerate, otherwise audio distortion will occur in recordings.

Output Device Configuration

Ensure your Wwise project outputs to the appropriate device:
  1. In Wwise Authoring, configure the Audio Device Shareset
  2. Set output to match your game’s audio output
  3. Verify in Wwise Profiler that audio is flowing

Platform Support

PlatformStatusNotes
Win64Full supportTested with Wwise 2021.1+
AndroidFull supportTested on Quest 2/3
LinuxNot supportedWwise Linux support limited

Performance

MetricImpact
CPU< 1% overhead
Memory~2MB buffer
Latency< 1 frame

Wwise Version Compatibility

Wwise VersionStatus
2023.1.xSupported
2022.1.xSupported
2021.1.xSupported
Older Wwise versions may have different callback APIs. Check release notes for compatibility.

Troubleshooting

  1. Verify Wwise plugin is enabled and initialized
  2. Check Wwise Profiler for audio output
  3. Verify output callback is registered (check LogLCKWwise)
  4. Ensure audio device is properly configured
  1. Verify AkAudio module is available
  2. Check plugin load order in .uproject
  3. Look for Wwise initialization errors
  1. Check Wwise project sample rate settings
  2. Verify encoder sample rate matches
  3. Consider resampling if rates differ

Log Category

DECLARE_LOG_CATEGORY_EXTERN(LogLCKWwise, Log, All);

See Also