Module: LCKUnrealAudio | Version: 1.0 | Platforms: All
Overview
LCKUnrealAudio provides native Unreal Engine audio capture, supporting both game audio output and microphone input using Unreal’s built-in audio systems. It usesFAudioCapture for microphone input and FLCKUnrealAudioListener for submix-based game audio capture.
Supported Channels
| Channel | Supported | Description |
|---|---|---|
Game | Yes | Unreal Audio submix capture |
Microphone | Yes | Unreal Audio microphone capture |
VoiceChat | No | Use LCKVivox for voice chat |
Dependencies
Automatic Integration
The plugin automatically registers itself with the LCK audio system when the module loads. No manual initialization is required.Source Implementation
FLCKUnrealAudioSource
The core audio source class that implementsILCKAudioSource for native Unreal Engine audio:
| Member | Type | Description |
|---|---|---|
MicrophoneCapture | TUniquePtr<Audio::FAudioCapture> | Unreal’s built-in microphone capture device |
GameAudioListener | TSharedPtr<FLCKUnrealAudioListener, ESPMode::ThreadSafe> | Submix listener for game audio output capture |
bIsMicrophoneCapturing | bool | Whether microphone capture is currently active |
Samplerate | int32 | Audio sample rate, defaults to 48000 Hz |
ChannelsCount | int32 | Number of audio channels (1 = mono mic input) |
Audio Capture Pipeline
FLCKUnrealAudioListener
Hooks into Unreal’s submix system to capture the final game audio mix. Registered automatically on the master submix when game audio capture starts.FAudioCapture (Microphone)
Uses Unreal’sAudio::FAudioCapture API for cross-platform microphone input. The microphone stream is captured at 48000 Hz mono and delivered through the same OnAudioDataDelegate with ELCKAudioChannel::Microphone.
Blueprint Functions
ULCKUnrealAudioBPL
A Blueprint function library exposing audio utilities to Blueprints:Returns the current Unreal Audio sample rate. Use this to configure the encoder with the correct sample rate.
Usage
Configuration
Sample Rate
The default sample rate is 48000 Hz. This matches the LCK encoder’s expected input rate. If your project uses a different audio sample rate, ensure the encoder is configured to match:Project Settings
Ensure audio capture is enabled in your project settings:- Edit > Project Settings > Platforms > Windows/Android
- Enable “Audio Capture” in the Audio section
Submix Setup
For game audio capture, the plugin hooks into Unreal’s master submix. No additional configuration is needed for default behavior.Microphone Permissions
Windows
No special permissions required. Microphone access is granted at the OS level.Android
Add to yourAndroidManifest.xml:
Performance
| Metric | Impact |
|---|---|
| CPU | < 1% overhead |
| Memory | ~1MB buffer |
| Latency | 1-2 frames |
Troubleshooting
No game audio captured
No game audio captured
- Verify audio is playing through Unreal’s audio system (not FMOD/Wwise)
- Check that the master submix is not muted
- Check LogLCKUnrealAudio for errors
No microphone audio
No microphone audio
- Verify microphone permissions are granted
- Check that no other application is exclusively using the mic
- Confirm Audio Capture is enabled in Project Settings
- On Android, verify
RECORD_AUDIOpermission in manifest
Sample rate mismatch
Sample rate mismatch
- Use
ULCKUnrealAudioBPL::GetUnrealAudioSamplerate()to query the actual rate - Ensure
FLCKRecorderParams::Sampleratematches - Check Project Settings audio sample rate configuration
Log Category
See Also
Audio Overview
Audio system architecture
LCKOboe
Low-latency Android microphone