Skip to main content

overwolf.games API

Provides information about the currently running game.

The difference between overwolf.games to overwolf.games.events

All the events below: onGameInfoUpdated, onGameLaunched, etc. are "game info" events that update the running game's current state (process name, focus, command line info, and more).
These events are not related to real-time game events (kill, death, start/end match, etc.), which are handled by the overwolf.games.events API and require to update your manifest file.

Methods Reference

Events Reference

Types Reference

getRunningGameInfo2(callback)

Version added: 0.188

Returns an object with information about the currently running game, if no game is runing, returns the following object:

{
gameInfo: null,
success: true
}

Note: In a scenario when more than one game is running, we'll display information only from the latest one that was launched.

ParameterTypeDescription
callback(Result:GetRunningGameInfoResult) => voidReturns info about the currently running game

Usage Example

overwolf.games.getRunningGameInfo2(console.log)

getRunningGameInfo(callback)

Deprecated

This function is deprecated - please use getRunningGameInfo2 instead.

Version added: 0.78

Returns an object with information about the currently running game, or returns null if no game is running.

Note: In a scenario when more than one game is running, we'll display information only from the latest one that was launched.

ParameterTypeDescription
callback(Result: GetRunningGameInfoResult) => voidReturns info about the currently running game

Usage Example

overwolf.games.getRunningGameInfo(function(){console.log(JSON.stringify(arguments))})

getGameInfo(gameClassId, callback)

Version added: 0.93

Returns information about a game with a given game ID.

Note: Game info will be returned only if the game is installed on the local machine.

ParameterTypeDescription
gameClassIdintClass ID of the game
callback(Result:GetGameInfoResult) => voidReturns info about the game

getGameDBInfo(gameClassId, callback)

Version added: 0.112

Returns information about a game with a given game ID.

note

This method is similar to getGameInfo() except that it can return two different results:

  • If the game is detected as installed, then the installedGameInfo member of the result will be set and the gameInfo member will be null.
  • If the game is NOT detected as installed, then the returned JSON status will be success:false.
ParameterTypeDescription
gameClassIdintThe class ID of the game
callback(Result:GetGameDBInfoResult) => voidReturns info about the game

getGameDBInfos(gameClassIds, callback)

Version added: 0.310.0.16

Batch version of getGameDBInfo(): resolves up to 500 game class IDs in a single call instead of one call per game.

ParameterTypeDescription
gameClassIdsnumber[]Class IDs to resolve. Non-empty, at most 500 per call. A repeated ID collapses to one entry.
callback(Result:GetGameDBInfosResult) => voidPer-game results keyed by class ID
note

The top-level success describes whether the call itself was well formed, not whether any game resolved. Per-game outcome lives on each entry's own success and error, so one unknown class ID does not discard the rest of the batch.

important

Resolving a game that is not installed costs a full registry and filesystem scan, and the batch runs inline on your app's dedicated API thread, delaying every other call your app makes until it finishes. Prefer smaller batches over one large one. A batch over 500 IDs is refused outright, not truncated.

Usage Example

overwolf.games.getGameDBInfos([21216, 10902, 5426], (result) => {
if (!result.success) {
console.error(result.error);
return;
}

for (const classId of Object.keys(result.games)) {
const entry = result.games[classId];

if (!entry.success) {
console.warn(classId, 'could not be resolved:', entry.error);
continue;
}

// Exactly one of these is set. installedGameInfo already contains
// the game info, so gameInfo stays null when the game is installed.
const info = entry.installedGameInfo || entry.gameInfo;
console.log(classId, info);
}
});

Errors

ErrorCause
Game class ids must be a non-empty array.Call-level.
Too many game class ids (<n>); at most 500 per call.Call-level. Split into batches of 500 or fewer.
game not foundEntry-level. No game in the database matches that class ID.
Game class id must be positive.Entry-level.

getRecentlyPlayedGames(maxNumOfGames, callback)

Version added: 0.122

Returns an array of the most recently played game IDs. An empty array will be returned if none have been recorded.

ParameterTypeDescription
maxNumOfGamesintMaximum number of games to receive. Currently we support a maximum of 3 games
callback(Result:GetRecentlyPlayedResult) => voidan array of the most recently played game IDs

getLastRunningGameInfo(callback)

Version added: 0.173

Returns the last played gameinfo (when no game is currently running).

ParameterTypeDescription
callback(Result:GetGameInfoResult) => voidReturns info about the game

onGameInfoUpdated

Fired when game info is updated, including game name, game running, game terminated, game changing focus, etc.
with the following structure: GameInfoUpdatedEvent Object.

onGameLaunched

Fired when a game is launched, with the following structure: RunningGameInfo object.

onMajorFrameRateChange

Fired when the rendering frame-rate of the currently injected game changes dramatically, with the following structure: MajorFrameRateChangeEvent object.

onGameRendererDetected

Fired when the rendering method of the game has been detected, with the following structure: GameRendererDetectedEvent object.

GameInfo object

Version added: 0.78

Contains information about a game.

NameTypeDescriptionSince
ActualDetectedRenderersnumber0.78
ActualGameRendererAllowsVideoCaptureboolean0.78
AllowCCMixboolean0.78
AllowCursorMixboolean0.78
AllowRIMixboolean0.78
Client_GameControlModenumber0.78
CommandLinestring0.78
ControlModesnumber0.78
CursorModenumber0.78
DITnumber0.78
DetectDirKeystring0.78
DetectDirKeysstring[]0.78
DisableActionMixedboolean0.78
DisableActivityInfoboolean0.78
DisableAeroOnDX11boolean0.78
DisableBlockChainboolean0.78
DisableD3d9Exboolean0.78
DisableDIAquireboolean0.78
DisableEXHandleboolean0.78
DisableEternalEnumboolean0.78
DisableExclusiveModeUIboolean0.78
DisableFeature_TS3boolean0.78
DisableFeature_VideoCaptureboolean0.78
DisableMultipleInjectionsboolean0.78
DisableOWGesturesboolean0.78
DisableRenderAIboolean0.78
DisableResizeReleaseboolean0.78
DisableSmartMixModeboolean0.78
DisplayNamestring0.78
EnableClockGestureboolean0.78
EnableFocusOnAnyClickboolean0.78
EnableMTCursorboolean0.78
EnableRawInputboolean0.78
EnableSmartDIFocusboolean0.78
EnableSmartDIFocus2boolean0.78
EnableSmartFocusboolean0.78
EnableTXRboolean0.78
ExecutedMoreThanboolean0.78
FIGVTHboolean0.78
FPSIndicationThresholdnumber0.78
FirstGameResolutionHeightnumber0.78
FirstGameResolutionWidthnumber0.78
FixActionFocusboolean0.78
FixCCboolean0.78
FixCOExboolean0.78
FixCVCursorboolean0.78
FixCursorOffsetboolean0.78
FixDIBlockboolean0.78
FixDIFocusboolean0.78
FixDXThreadSafeboolean0.78
FixFSTBboolean0.78
FixHotkeyRIboolean0.78
FixInputBlockboolean0.78
FixInvisibleCursorCRboolean0.78
FixMixModeCursorboolean0.78
FixModifierMixModeboolean0.78
FixMouseDIExclusiveboolean0.78
FixRCExboolean0.78
FixResolutionChangeboolean0.78
FixRestoreSWLboolean0.78
FixSWLboolean0.78
FixSWLWboolean0.78
ForceCaptureChangeRehookboolean0.78
ForceControlRehookboolean0.78
ForceGBBboolean0.78
GameGenresstring0.78
GameLinkURLstring0.78
GameNotesstring0.78
GameRenderersnumber0.78
GameTitlestring0.78
GenericProcessNameboolean0.78
GroupTitlestring0.78
IDnumber0.78
IconFilestring0.78
IgnoreMultipleDevicesboolean0.78
IgnoreReleaseboolean0.78
ImGuiRenderingboolean0.78
InjectionDecisionnumber0.78
Inputnumber0.78
InstallHintstring0.78
IsConflictingWithControlHotkeyboolean0.78
IsNewboolean0.78
IsSteamGameboolean0.78
KeepInGameOnLostFocusboolean0.78
Labelstring0.78
LastInjectionDecisionnumber0.78
LastKnownExecutionPathstring0.78
LaunchParamsstring0.78
Launchableboolean0.78
LauncherDirectoryRegistryKeystring0.78
LauncherDirectoryRegistryKeysstring[]0.78
LauncherGameClassIdnumber0.78
LauncherNamesstring[]0.78
ModifierStatusnumber0.78
NativeIDnumber0.78
PassThruBoundsOffsetPixelnumber0.78
PressToClickThroughnumber0.78
ProcessCommandLinestring0.78
ProcessIDnumber0.78
ProcessNamesstring[]0.78
RecreateSBboolean0.78
ReleaseKBInOverlayFocusboolean0.78
ResizeNotifyResolutionboolean0.78
RestoreBBboolean0.78
RestoreRTboolean0.78
RunElevatedboolean0.78
SendHotkeyRIboolean0.78
SetDIInExclusiveboolean0.78
ShortTitlestring0.78
SkipGameProcboolean0.78
SmartReleaseKBInOverlayFocusboolean0.78
StableFPSThresholdnumber0.78
StuckInTrans_Marginnumber0.78
StuckInTrans_MouseMoveGapnumber0.78
SupportedSchemestring0.78
SupportedVersionstring0.78
TCModesnumber0.78
TerminateOnWindowClosebooleanv
Typenumber0.78
TypeStringstring0.78
UnsupportedSchemestring0.78
UpdateCursorboolean0.78
UpdateCursorMTboolean0.78
UseAllSafeHookboolean0.78
UseEHstring0.78
UseHardwareDeviceboolean0.78
UseLauncherIconboolean0.78
UseLongHookboolean0.78
UseMCHstring0.78
UseMHboolean0.78
UseMHSchemestring0.78
UseMKLLboolean0.78
UseMWboolean0.78
UsePRboolean0.78
UseRIboolean0.78
UseRIBboolean0.78
UseSafeHookboolean0.78
UseTSHookboolean0.78
WaitRestoreboolean0.78
Win7Supportnumber0.78
Win8Supportnumber0.78
Win10Supportnumber0.78
XPSupportnumber0.78

Example data

{
"ID":11361,
"NativeID":1136,
"Type":0,
"TypeString":"Game",
"LauncherGameClassId":0,
"GameTitle":"Guild Wars",
"ShortTitle":null,
"UseLauncherIcon":false,
"DisplayName":null,
"ProcessNames":[
"Gw.exe"
],
"LauncherNames":[
"Gw.exe"
],
"CommandLine":"Guild Wars",
"GameRenderers":2,
"ActualDetectedRenderers":0,
"FirstGameResolutionHeight":null,
"FirstGameResolutionWidth":null,
"GameGenres":"Role-Playing_Real-Time-Battle-RPG",
"InjectionDecision":1,
"SupportedScheme":null,
"UnsupportedScheme":null,
"LauncherDirectoryRegistryKey":"HKEY_CURRENT_USER\\Software\\ArenaNet\\Guild Wars\\Path",
"LauncherDirectoryRegistryKeys":null,
"LaunchParams":null,
"RunElevated":false,
"GenericProcessName":false,
"Launchable":true,
"IconFile":null,
"GameLinkURL":null,
"FixCursorOffset":false,
"FixResolutionChange":true,
"FixDIBlock":false,
"FixDIFocus":false,
"FixSWL":false,
"UseSafeHook":false,
"UseAllSafeHook":false,
"UseLongHook":true,
"FixInputBlock":false,
"IgnoreRelease":false,
"ReleaseKBInOverlayFocus":false,
"SmartReleaseKBInOverlayFocus":false,
"UseTSHook":false,
"TerminateOnWindowClose":false,
"AllowCursorMix":false,
"FixMixModeCursor":false,
"SetDIInExclusive":false,
"FixMouseDIExclusive":false,
"DisableActionMixed":false,
"DisableResizeRelease":false,
"DisableEternalEnum":false,
"ForceCaptureChangeRehook":false,
"ForceControlRehook":false,
"FixActionFocus":false,
"RestoreRT":false,
"ForceGBB":false,
"EnableSmartFocus":false,
"EnableSmartDIFocus":false,
"DisableFeature_VideoCapture":false,
"DisableFeature_TS3":false,
"FixSWLW":false,
"EnableFocusOnAnyClick":false,
"EnableMTCursor":false,
"Input":0,
"ControlModes":0,
"CursorMode":0,
"XPSupport":0,
"Win7Support":0,
"Win8Support":0,
"Win10Support":0,
"DisableVideoCapture":0,
"InstallHint":null,
"DetectDirKey":"HKEY_CURRENT_USER\\Software\\ArenaNet\\Guild Wars\\Path",
"DetectDirKeys":null,
"PressToClickThrough":0,
"StuckInTrans_MouseMoveGap":null,
"StuckInTrans_Margin":0,
"GroupTitle":null,
"GameNotes":null,
"Client_GameControlMode":2,
"SupportedVersion":null,
"DisableAeroOnDX11":false,
"FixCC":false,
"EnableRawInput":false,
"IsConflictingWithControlHotkey":false,
"EnableClockGesture":false,
"DisableOWGestures":false,
"UpdateCursor":false,
"UpdateCursorMT":false,
"DisableDIAquire":false,
"EnableSmartDIFocus2":false,
"ResizeNotifyResolution":false,
"DisableD3d9Ex":false,
"UseRI":false,
"UseRIB":false,
"AllowRIMix":false,
"RestoreBB":false,
"RecreateSB":false,
"FixFSTB":false,
"FixCOEx":false,
"FixRCEx":false,
"DisableBlockChain":false,
"UseMH":false,
"UseMHScheme":null,
"UseMCH":"6;10",
"UseEH":null,
"AllowCCMix":false,
"UseMKLL":false,
"UseNewKLL":false,
"UseNewMLLForExclusive":false,
"UseMW":false,
"UsePR":false,
"WaitRestore":false,
"KeepInGameOnLostFocus":false,
"DisableRenderAI":false,
"DisableSmartMixMode":false,
"ImGuiRendering":false,
"DIT":0,
"IgnoreMultipleDevices":false,
"TCModes":0,
"FixHotkeyRI":true,
"SendHotkeyRI":false,
"FixRestoreSWL":false,
"FIGVTH":false,
"UseHardwareDevice":false,
"FixCVCursor":false,
"EnableTXR":true,
"PassThruBoundsOffsetPixel":0,
"FixModifierMixMode":false,
"DisableEXHandle":false,
"FixDXThreadSafe":false,
"FixInvisibleCursorCR":false,
"SkipGameProc":false,
"Label":"Guild Wars",
"DisableActivityInfo":false,
"ModifierStatus":0,
"DisableExclusiveModeUI":false,
"ProcessCommandLine":"\"D:/Games/Guild Wars/Gw.exe\"",
"ProcessID":10684,
"StableFPSThreshold":10,
"FPSIndicationThreshold":3,
"DisableMultipleInjections":false,
"IsNew":true,
"ExecutedMoreThan":true,
"LastKnownExecutionPath":"D:/Games/Guild Wars/Gw.exe",
"LastInjectionDecision":1,
"IsSteamGame":false
}

RunningGameInfo Object

ParameterTypeDescription
isInFocusboolReturns whether overlay is currently being rendered for the game
gameIsInFocusboolReturns whether the game is currently in focus
isRunningboolReturns whether the game is currently running
allowsVideoCaptureboolReturns whether the game allows video to be captured
titlestringReturns the title of the game
idintReturns the game ID concatenated with the Instance ID of the game. Divide it by 10 and round down to get the game ID
classIdintReturns the game ID
widthintReturns the pixel width of the game window
heightintReturns the pixel height of the game window
logicalWidthintReturns the game-reported (logical) pixel width of the game window
logicalHeightintReturns the game-reported (logical) pixel height of the game window
renderersstring[]Returns an array of the rendering technology names supported by the running game
detectedRendererstringReturns the rendering technology detected by the running game
commandLinestringReturns the game process commandline
typeintReturns the process type as a number. See notes
typeAsStringstringReturns the process type as a string. See notes
monitorHandleobjectReturns the current monitor handle
windowHandleobjectReturns the current app window handle
processIdintReturns the current process id of the running game
overlayRemotelyDisabledboolWhether or not the Overlay for this game has been remotely disabled
minimumEnabledOverwolfVersionboolThe minimum (if any) Overwolf version required to enable Overlay for this game
isFullscreenboolWhether or not the game is currently running in Fullscreen (mostly relevant for OOPO games)
isOOPOFullscreenRenderingDisabledboolWhether or not Overlay rendering is disabled in this current game (mostly relevant for OOPO games)

Data example

{
"success":true,
"isInFocus":false,
"gameIsInFocus": false,
"isRunning":true,
"allowsVideoCapture":true,
"title":"Guild Wars",
"displayName":"",
"shortTitle":"",
"id":11361,
"classId":1136,
"width":1920,
"height":1080,
"logicalWidth":1920,
"logicalHeight":1080,
"processId": 3840,
"renderers":[
"D3D9"
],
"detectedRenderer":"Unknown",
"executionPath":"D:/Games/Guild Wars/Gw.exe",
"sessionId":"3ced63b755724fd4ab1d3d2a210aa764",
"commandLine":"\"D:/Games/Guild Wars/Gw.exe\"",
"type":0,
"typeAsString":"Game",
"windowHandle":{
"value":0
},
"monitorHandle":{
"value":0
}
}

InfoType Note

Both of these type fields correspond to a certain GameInfoType value, which is the value defined for this process in the gamelist.

InstalledGameInfo Object

ParameterTypeDescription
GameInfoClassIDnumber
GameInfoIDnumber
LastTimeVerifiedDate
LauncherCommandLineParamsstring
LauncherPathstring
ManuallyAddedboolean
ProcessPathstring
WasAutoAddedByProcessDetectionboolean
GameInfoGameInfo object

Example data

{
"GameInfoClassID":1136,
"GameInfoID":11361,
"ProcessPath":null,
"LauncherPath":"D:/Games/Guild Wars/Gw.exe",
"LauncherCommandLineParams":null,
"LastTimeVerified":"2020-03-28T19:47:44.828Z",
"ManuallyAdded":false,
"WasAutoAddedByProcessDetection":true,
"GameInfo":{ ... }
}

GetRunningGameInfoResult Object

ParameterTypeDescription
successboolean
errorstringnull if success is true
isInFocusboolReturns whether the game is currently in focus
isRunningboolReturns whether the game is currently running
allowsVideoCaptureboolReturns whether the game allows video to be captured
titlestringReturns the title of the game
idintReturns the game ID concatenated with the Instance ID of the game. Divide it by 10 and round down to get the game ID
classIdintReturns the game ID
widthintReturns the pixel width of the game window
heightintReturns the pixel height of the game window
logicalWidthintReturns the game-reported (logical) pixel width of the game window
logicalHeightintReturns the game-reported (logical) pixel height of the game window
processIdintReturns the current process id of the running game
renderersstring[]Returns an array of the rendering technology names supported by the running game
detectedRendererstringReturns the rendering technology detected by the running game
commandLinestringReturns the game process commandline
typeintReturns the process type as a number. See notes
typeAsStringstringReturns the process type as a string. See notes
windowHandleobjectReturns the current game window handle
monitorHandleobjectReturns the current monitor handle
overlayInfoOverlayInfo ObjectReturns info about the the running out of process overlays

Example data: Success

{
"success":true,
"isInFocus":false,
"isRunning":true,
"allowsVideoCapture":true,
"title":"Guild Wars",
"displayName":"",
"shortTitle":"",
"id":11361,
"classId":1136,
"width":1920,
"height":1080,
"logicalWidth":1920,
"logicalHeight":1080,
"processId": 3840,
"renderers":[
"D3D9"
],
"detectedRenderer":"Unknown",
"executionPath":"D:/Games/Guild Wars/Gw.exe",
"sessionId":"3ced63b755724fd4ab1d3d2a210aa764",
"commandLine":"\"D:/Games/Guild Wars/Gw.exe\"",
"type":0,
"typeAsString":"Game",
"windowHandle":{
"value":0
},
"monitorHandle":{
"value":0
}
}

InfoType Note

Both of these type fields correspond to a certain GameInfoType value, which is the value defined for this process in the gamelist.

GetGameInfoResult Object

ParameterTypeDescription
successboolean
errorstringnull if success is true
gameInfoInstalledGameInfo objectProvides the installed game info

Example data: Success

{
"success":true,
"gameInfo":{ //InstalledGameInfo object
"GameInfoClassID":1136,
"GameInfoID":11361,
"ProcessPath":null,
"LauncherPath":"D:/Games/Guild Wars/Gw.exe",
"LauncherCommandLineParams":null,
"LastTimeVerified":"2020-03-28T19:47:44.828Z",
"ManuallyAdded":false,
"WasAutoAddedByProcessDetection":true,
"GameInfo":{ ... } // GameInfo object
}
}

GetGameDBInfoResult Object

ParameterTypeDescription
successboolean
errorstringnull if success is true
installedGameInfoInstalledGameInfo objectProvides the installed game info

Example data: Success

{
"success":true,
"gameInfo":null, //null means that the game is installed on this machine
"installedGameInfo":{ //InstalledGameInfo object
"GameInfoClassID":1136,
"GameInfoID":11361,
"ProcessPath":null,
"LauncherPath":"D:/Games/Guild Wars/Gw.exe",
"LauncherCommandLineParams":null,
"LastTimeVerified":"2020-03-28T19:47:44.828Z",
"ManuallyAdded":false,
"WasAutoAddedByProcessDetection":true,
"GameInfo":{ ... } // GameInfo object
}
}

Example data: Failure

{
"success":false,
"error":"game not found",
"reason":"game not found" //for backward compatibility
}

GetGameDBInfosResult Object

Version added: 0.310.0.16

Container for getGameDBInfos() result.

ParameterTypeDescription
successbooleanDescribes the call itself, not the individual games
gamesobject, keyed by class ID (string) of GetGameDBInfoResult-shaped entries plus classIdEach entry has success true with exactly one of gameInfo / installedGameInfo set, or success: false with error and reason

Example data: Success

{
"success": true,
"games": {
"21216": {
"classId": 21216,
"success": true,
"gameInfo": null,
"installedGameInfo": { /* InstalledGameInfo object */ }
},
"10902": {
"classId": 10902,
"success": false,
"error": "game not found",
"reason": "game not found"
}
}
}

GetRecentlyPlayedResult Object

ParameterTypeDescription
successboolean
errorstringnull if success is true
gamesnumber[]an array of the most recently played game IDs

Example data: Success

{
"success":true,
"games":[
54261,
11361,
77641
]
}

MajorFrameRateChangeEvent Object

Version added: 0.78

NameTypeDescriptionSince
fps_statusstringcan be “None”, “Stable”, “Drop” and “Increase”
fpsnumberIndicates if there was a change in resolution (i.e. the width or height properties were changed)

Event data example:

{
"fps_status": "Increase", // can be “None”, “Stable”, “Drop” and “Increase”.
"fps": 35
}

GameRendererDetectedEvent Object

Version added: 0.78

NameTypeDescriptionSince
detectedRendererstring

Event data example

{
"detectedRenderer": "D3D9"
}

GameInfoUpdatedEvent Object

Version added: 0.78

An object containing the game info object in addition to a set of flags indicating the changes from the last time that data was updated.

NameTypeDescriptionSince
gameInfoRunningGameInfo objectThe new game info data0.78
resolutionChangedboolIndicates if there was a change in resolution (i.e. the width or height properties were changed)0.78
focusChangedboolIndicates if there was a change in the game focus status0.78
runningChangedboolIndicates if there was a change in the game running status0.78
gameChangedboolIndicates if the gameInfo property represents a different game than before0.78
gameOverlayChangedboolIndicates if OW hooks input device changes when hooking into a game. If true, check if overlayInputHookError is true as well to identify that there is a hooking issue0.160
overlayInputHookErrorboolIndicates that a hooking error has occurred0.160
reasonstring[]A detailed info about the hooking error reason (one or more GameInfoChangeReason enum)0.173

Event data example

{
"gameInfo": { //RunningGameInfo object
"isInFocus": true,
"gameIsInFocus": true,
"isRunning": true,
"allowsVideoCapture": true,
"title": "Dota 2",
"id": 73143,
"width": 1920,
"height": 1080,
"logicalWidth": 1920,
"logicalHeight": 1080,
"processId": 3840,
"renderers": [
"D3D9",
"D3D11"
],
"detectedRenderer": "D3D9",
"executionPath": "D:/Steam/steamapps/common/dota2/game/bin/win64/dota2.exe",
"sessionId": "9b163a0c0ca74d2c8f01f85d4fade07f",
"commandLine": "D:/Steam/steamapps/common/dota2/game/bin/win64/dota2.exe -steam"
},
"resolutionChanged": false,
"focusChanged": true,
"runningChanged": false,
"gameChanged": false,
"gameOverlayChanged": false,
"reason": "gameFocusChanged"
}

OverlayInfo Object

Returns info about the current out of process overlays

ParameterTypeDescription
coexistingAppsKnownOverlayCoexistenceApps[]Detected coexisting apps
inputFailureboolGlobal input hook failure detected, machine restart is needed.
hadInGameRenderboolOverwolf overlay did render in game
isCursorVisibleboolIndication if the current game is working in "Exclusive Mode" without a visible cursor, like FPS games. See notes
exclusiveModeDisabledboolExclusiveMode is disabled. See notes
oopOverlayboolis game overlay is OOPO. See notes
isFullScreenOptimizationDisabledboolIndication if game process DisableFullscreen is on. See notes

Data example

{
"coexistingApps":["MSIAfterBurner", "MSIAfterBurner"],
"inputFailure":false,
"hadInGameRender":true,
"isCursorVisible":true,
"exclusiveModeDisabled":true,
"isFullScreenOptimizationDisabled":false,
}

Note

When the game terminates (hadInGameRender: false) and coexistingApps is not empty, you can show the users a message of a possible coexisting overlay issue.

isCursorVisible Note

Usually used for FPS games - when you are playing, you won't have a cursor - but if you Ctrl + Tab (enable exclusive mode), you will. This can give the app an indication of this (i.e., can the user click an X to close the app window, or does he have to use a hotkey). Not relevant for games like LoL, where the user has a cursor.

See also related flag, exclusiveModeDisabled.

exclusiveModeDisabled Note

Exclusive mode is for games like FPS, where you don't have a cursor while in the game - so if you ctrl + tab - we turn the background dark - like steam. This is exclusive mode - as in, the input is exclusively going to Overwolf (not the game).

See also related object property, isCursorVisible.

oopOverlay Note

OOP stands for "Out of process" Overlay - relevant for Destiny 2, CS2, Roblox, and CoD that requires exclusive mode to interact with the OW app's windows.

isFullScreenOptimizationDisabled Note

The OW overlay is not visible in full-screen mode for games that require an exclusive mode to interact with the OW app's windows (like Distney2, CSGO, and warzone).

This indication lets you show the user a desktop notification to switch from full screen to windowed or borderless mode or enable full-screen optimization. Note that you can't display your indication as there is no overlay. So in that case, you can show the indication when the match is over or on a second screen, if exists.

'isFullScreenOptimizationDisabled' will be on when DisableFullscreen is on, and the overlay is not visible.

GameInfoChangeReason enum

OptionDescription
game
gameChanged
gameFocusChanged
gameLaunched
gameOverlayCoexistenceDetected
gameOverlayCursorVisibility
gameOverlayExclusiveModeChanged
gameOverlayInputHookFailure
gameRendererDetected
gameResolutionChanged
gameTerminated
gameWindowDataChanged

GameInfoType enum

The type value for a process is determined by the gamelist entry for it.

OptionDescription
GameThis is a Game
LauncherThis is a launcher
ApplicationThis is an app

KnownOverlayCoexistenceApps enum

OptionDescription
Asus
Discord
MSIAfterBurner
Nahimic
Nahimic2
None
ObsStudio
PlaysTV
RazerSynapse