Skip to content

Desuq Cafe

Documentation menu

Take Recorder Sync

Automatically synchronize OBS recording with Unreal Engine’s Take Recorder for virtual production workflows.

Experimental / optional. This is a separate, optional editor module that is disabled by default. It only loads when the Takes plugin is enabled, and discovery returns gracefully when it is unavailable.

Enabling Take Recorder Sync

  1. Enable the Takes plugin (Edit > Plugins > Virtual Production > Takes).
  2. Go to Edit > Project Settings > Plugins > OBS Take Recorder Sync.
  3. Check Enabled.
  4. Configure sync options as needed.

Sync Settings

SettingDefaultDescription
Auto Start RecordtrueStart OBS recording when Take Recorder begins
Auto Stop RecordtrueStop OBS recording when Take Recorder stops
Post-Roll Seconds0.0Continue OBS recording X seconds after take (0 to 60)
Auto Start Virtual CamfalseSync virtual camera with takes
Auto Start StreamfalseSync streaming with takes (use with caution!)
Switch Scene On StartfalseSwitch to a specific scene when a take starts
Create Chapters On Marked FramestrueThe M key in Take Recorder creates OBS chapters
Add Start Chapter With MetadatatrueEmbed slate name, take number, timecode at start
Log File CorrelationtrueLog the OBS file path with the take asset path

Blueprint API

// Get the sync object
Get OBS Take Recorder Sync -> UInhyeongOBSTakeRecorderSync

// Enable/disable at runtime
Set OBS Take Recorder Sync Enabled (Enabled: Boolean)

// Check status
Is OBS Take Recorder Sync Enabled -> Boolean
Is OBS Syncing Take -> Boolean

C++ API

#include "InhyeongOBSTakeRecorderModule.h"
#include "InhyeongOBSTakeRecorderSync.h"

// Check availability and get sync object
if (FInhyeongOBSTakeRecorderModule::IsAvailable())
{
    UInhyeongOBSTakeRecorderSync* Sync =
        FInhyeongOBSTakeRecorderModule::Get().GetTakeRecorderSync();

    if (Sync)
    {
        Sync->bEnabled = true;
        Sync->bAutoStartRecord = true;
        Sync->bSwitchSceneOnStart = true;
        Sync->StartSceneName = TEXT("Recording");
        Sync->SaveConfig();
    }
}

Chapter Marker Requirements

OBS chapter markers require:

  • OBS version 30.2.0 or later
  • Recording format set to Hybrid MP4 (HLS) in OBS Settings > Output

File Correlation

Since OBS filenames can’t be set via WebSocket, enable Log File Correlation to match recordings:

LogOBSTakeRecorder: === Take/OBS File Correlation ===
LogOBSTakeRecorder:   Take Name:  MySlate_Take3
LogOBSTakeRecorder:   Take Asset: /Game/Cinematics/Takes/MySlate/MySlate_003
LogOBSTakeRecorder:   OBS File:   C:/Videos/2024-01-15_14-32-15.mp4
LogOBSTakeRecorder: =================================

Troubleshooting

ProblemSolution
”OBS is not connected” warning on take startConnect to OBS before starting takes
OBS recording doesn’t start with takeCheck sync is enabled in Project Settings, verify Auto Start Record is on
Chapter markers not appearingVerify OBS 30.2.0+, set recording format to Hybrid MP4
Take Recorder sync settings missingEnable the Takes plugin (Edit > Plugins), restart the editor
Settings not persistingCheck Config/DefaultInhyeongOBS.ini isn’t read-only