Skip to main content

IOverwolfRecordingApi

Electron APIs / recorder / IOverwolfRecordingApi

API interface for managing Overwolf's recording and replay capture services. Includes methods for starting/stopping recordings, replays, configuring capture settings, and querying system capabilities.

See​

Properties​

PropertyModifierTypeDescription
binFolderPathreadonlystringPath to OBS binaries folder.
ffmpegPathreadonlystringPath to ffmpeg file.
optionspublicRecordingAppOptionsGlobal runtime options for the recording app (e.g., debug options, override paths). See RecordingAppOptions
versionreadonlystringOverlay package version.

Methods​

captureReplay()​

captureReplay(option: CaptureReplayOptions, callback?: ReplayCallback): Promise<ActiveReplay>;

Captures a replay from the memory buffer. Returns an ActiveReplay object to control the replay after creation.

Parameters​

ParameterTypeDescription
optionCaptureReplayOptionsReplay capture parameters (filename, duration).
callback?ReplayCallbackOptional callback for when replay is ready.

Returns​

Promise<ActiveReplay>

A promise resolving to an ActiveReplay controller object.

Throws​

RecorderError


createSettingsBuilder()​

createSettingsBuilder(options?: CaptureSettingsOptions): Promise<CaptureSettingsBuilder>;

Creates a capture settings builder instance to configure video/audio sources.

Parameters​

ParameterTypeDescription
options?CaptureSettingsOptionsOptional base options to initialize the settings.

Returns​

Promise<CaptureSettingsBuilder>

A builder used to construct a complete CaptureSettings object.

See​

CaptureSettingsBuilder


isActive()​

isActive(): Promise<boolean>;

Checks if either recording or replays are currently active.

Returns​

Promise<boolean>


isRecordingActive()​

isRecordingActive(): Promise<boolean>;

Checks if a recording is currently active.

Returns​

Promise<boolean>


isReplayActive()​

isReplayActive(): Promise<boolean>;

Checks if a replay session is currently active.

Returns​

Promise<boolean>


queryInformation()​

queryInformation(): Promise<RecordingInformation>;

Queries supported encoders, audio/video devices, and configuration options.

Returns​

Promise<RecordingInformation>

A promise that resolves to the full recording capability information.

See​

RecordingInformation


registerGames()​

registerGames(filter: GamesFilter): void;

Registers games to monitor and track for launch/exit detection.

Parameters​

ParameterTypeDescription
filterGamesFilterFiltering rules for which games to track.

Returns​

void


setSourceTransform()​

setSourceTransform(sourceTransform: SourceTransform): Promise<void>;

Set a source to transform.

Defines how the source will be rendered (for example, position, scale, crop, etc.). Throws an error if the source is not found or if the transform is invalid.

Parameters​

ParameterTypeDescription
sourceTransformSourceTransform

Returns​

Promise<void>


splitRecording()​

splitRecording(listener?: SplitCallback): Promise<void>;

Splits the current recording into a new file. Fires 'recording-split' once the new file is created.

Parameters​

ParameterTypeDescription
listener?SplitCallbackOptional callback triggered on successful split.

Returns​

Promise<void>

Throws​

RecorderError if splitting fails.

See​

SplitCallback


startRecording()​

startRecording(
options: RecordingOptions,
setting?: CaptureSettings,
listener?: StopCallback): Promise<void>;

Starts a video recording session.

Fires the 'recording-started' event when recording begins. Fires the 'recording-stopped' event when stopped manually, via error, or when the game exits.

Parameters​

ParameterTypeDescription
optionsRecordingOptionsRecording options such as file path, format, and split config.
setting?CaptureSettingsOptional capture settings to define sources.
listener?StopCallbackOptional callback for the stop event (overrides global listener).

Returns​

Promise<void>

Throws​

RecorderError if recording fails to start.


startReplays()​

startReplays(options: ReplayOptions, setting?: CaptureSettings): Promise<void>;

Starts replay capture service in memory.

Fires the 'replays-started' event on success.

Parameters​

ParameterTypeDescription
optionsReplayOptionsReplay configuration such as buffer length and paths.
setting?CaptureSettingsOptional capture settings for the replay session.

Returns​

Promise<void>

Throws​

RecorderError if replays fail to start.

See​

ReplayOptions


stopRecording()​

stopRecording(listener?: StopCallback): Promise<void>;

Stops the active recording.

Parameters​

ParameterTypeDescription
listener?StopCallbackOptional callback to handle the stop result.

Returns​

Promise<void>

A promise that resolves when recording has fully stopped.

See​

StopCallback


stopReplays()​

stopReplays(): Promise<void>;

Stops the active replay session.

Fires 'replays-stopped' upon success.

Returns​

Promise<void>

Throws​

RecorderError if stop fails.


updateAudioDevice()​

updateAudioDevice(device: AudioDeviceSettingsUpdateInfo): Promise<void>;

Updates runtime settings for an audio device while recording.

Parameters​

ParameterTypeDescription
deviceAudioDeviceSettingsUpdateInfoUpdated device settings.

Returns​

Promise<void>

See​

AudioDeviceSettingsUpdateInfo

Since​

0.32.0

Events​

on("game-launched")​

on(eventName: "game-launched", listener: (gameInfo: GameInfo) => void): this;

Fired when a registered game is launched.

Parameters​
ParameterType
eventName"game-launched"
listener(gameInfo: GameInfo) => void
Returns​

this

on("game-exit")​

on(eventName: "game-exit", listener: (gameInfo: GameInfo) => void): this;

Fired when a registered game process exits.

Parameters​
ParameterType
eventName"game-exit"
listener(gameInfo: GameInfo) => void
Returns​

this

on("recording-started")​

on(eventName: "recording-started", listener: StartCallback): this;

Fired when a recording session begins.

Parameters​
ParameterType
eventName"recording-started"
listenerStartCallback
Returns​

this

on("recording-stopped")​

on(eventName: "recording-stopped", listener: StopCallback): this;

Fired when a recording session ends.

Parameters​
ParameterType
eventName"recording-stopped"
listenerStopCallback
Returns​

this

on("recording-split")​

on(eventName: "recording-split", listener: SplitCallback): this;

Fired when a recording is split into a new file.

Parameters​
ParameterType
eventName"recording-split"
listenerSplitCallback
Returns​

this

on("replays-started")​

on(eventName: "replays-started", listener: StartCallback): this;

Fired when replay service starts.

Parameters​
ParameterType
eventName"replays-started"
listenerStartCallback
Returns​

this

on("replays-stopped")​

on(eventName: "replays-stopped", listener: ReplayStopCallback): this;

Fired when replay service stops.

Parameters​
ParameterType
eventName"replays-stopped"
listenerReplayStopCallback
Returns​

this

on("replay-captured")​

on(eventName: "replay-captured", listener: ReplayCallback): this;

Fired when a replay video has been captured.

Parameters​
ParameterType
eventName"replay-captured"
listenerReplayCallback
Returns​

this

on("stats")​

on(eventName: "stats", listener: (args: RecorderStats) => void): this;

Fired periodically with recorder performance metrics.

Parameters​
ParameterType
eventName"stats"
listener(args: RecorderStats) => void
Returns​

this