overwolf.games API
Provides information about the currently running game.
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
- overwolf.games.getRunningGameInfo()
- overwolf.games.getGameInfo()
- overwolf.games.getGameDBInfo()
- overwolf.games.getGameDBInfos()
- overwolf.games.getRecentlyPlayedGames()
- overwolf.games.getLastRunningGameInfo()
- overwolf.games.getRunningGameInfo2()
Events Reference
- overwolf.games.onGameInfoUpdated
- overwolf.games.onGameLaunched
- overwolf.games.onMajorFrameRateChange
- overwolf.games.onGameRendererDetected
Types Reference
- overwolf.games.GameInfo Object
- overwolf.games.GetRunningGameInfoResult Object
- overwolf.games.GetGameInfoResult Object
- overwolf.games.InstalledGameInfo Object
- overwolf.games.GetGameDBInfoResult Object
- overwolf.games.GetGameDBInfosResult Object
- overwolf.games.GetRecentlyPlayedResult Object
- overwolf.games.RunningGameInfo Object
- overwolf.games.OverlayInfo Object
- overwolf.games.GameInfoUpdatedEvent Object
- overwolf.games.MajorFrameRateChangeEvent Object
- overwolf.games.GameRendererDetectedEvent Object
- overwolf.games.GameInfoChangeReason Enum
- overwolf.games.KnownOverlayCoexistenceApps Enum
- overwolf.games.GameInfoType Enum
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.
| Parameter | Type | Description |
|---|---|---|
| callback | (Result:GetRunningGameInfoResult) => void | Returns info about the currently running game |
Usage Example
overwolf.games.getRunningGameInfo2(console.log)
getRunningGameInfo(callback)
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.
| Parameter | Type | Description |
|---|---|---|
| callback | (Result: GetRunningGameInfoResult) => void | Returns 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.
| Parameter | Type | Description |
|---|---|---|
| gameClassId | int | Class ID of the game |
| callback | (Result:GetGameInfoResult) => void | Returns info about the game |
getGameDBInfo(gameClassId, callback)
Version added: 0.112
Returns information about a game with a given game ID.
This method is similar to getGameInfo() except that it can return two different results:
- If the game is detected as installed, then the
installedGameInfomember of the result will be set and thegameInfomember will be null. - If the game is NOT detected as installed, then the returned JSON status will be
success:false.
| Parameter | Type | Description |
|---|---|---|
| gameClassId | int | The class ID of the game |
| callback | (Result:GetGameDBInfoResult) => void | Returns 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.
| Parameter | Type | Description |
|---|---|---|
| gameClassIds | number[] | Class IDs to resolve. Non-empty, at most 500 per call. A repeated ID collapses to one entry. |
| callback | (Result:GetGameDBInfosResult) => void | Per-game results keyed by class ID |
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.
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
| Error | Cause |
|---|---|
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 found | Entry-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.
| Parameter | Type | Description |
|---|---|---|
| maxNumOfGames | int | Maximum number of games to receive. Currently we support a maximum of 3 games |
| callback | (Result:GetRecentlyPlayedResult) => void | an 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).
| Parameter | Type | Description |
|---|---|---|
| callback | (Result:GetGameInfoResult) => void | Returns 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.
| Name | Type | Description | Since |
|---|---|---|---|
| ActualDetectedRenderers | number | 0.78 | |
| ActualGameRendererAllowsVideoCapture | boolean | 0.78 | |
| AllowCCMix | boolean | 0.78 | |
| AllowCursorMix | boolean | 0.78 | |
| AllowRIMix | boolean | 0.78 | |
| Client_GameControlMode | number | 0.78 | |
| CommandLine | string | 0.78 | |
| ControlModes | number | 0.78 | |
| CursorMode | number | 0.78 | |
| DIT | number | 0.78 | |
| DetectDirKey | string | 0.78 | |
| DetectDirKeys | string[] | 0.78 | |
| DisableActionMixed | boolean | 0.78 | |
| DisableActivityInfo | boolean | 0.78 | |
| DisableAeroOnDX11 | boolean | 0.78 | |
| DisableBlockChain | boolean | 0.78 | |
| DisableD3d9Ex | boolean | 0.78 | |
| DisableDIAquire | boolean | 0.78 | |
| DisableEXHandle | boolean | 0.78 | |
| DisableEternalEnum | boolean | 0.78 | |
| DisableExclusiveModeUI | boolean | 0.78 | |
| DisableFeature_TS3 | boolean | 0.78 | |
| DisableFeature_VideoCapture | boolean | 0.78 | |
| DisableMultipleInjections | boolean | 0.78 | |
| DisableOWGestures | boolean | 0.78 | |
| DisableRenderAI | boolean | 0.78 | |
| DisableResizeRelease | boolean | 0.78 | |
| DisableSmartMixMode | boolean | 0.78 | |
| DisplayName | string | 0.78 | |
| EnableClockGesture | boolean | 0.78 | |
| EnableFocusOnAnyClick | boolean | 0.78 | |
| EnableMTCursor | boolean | 0.78 | |
| EnableRawInput | boolean | 0.78 | |
| EnableSmartDIFocus | boolean | 0.78 | |
| EnableSmartDIFocus2 | boolean | 0.78 | |
| EnableSmartFocus | boolean | 0.78 | |
| EnableTXR | boolean | 0.78 | |
| ExecutedMoreThan | boolean | 0.78 | |
| FIGVTH | boolean | 0.78 | |
| FPSIndicationThreshold | number | 0.78 | |
| FirstGameResolutionHeight | number | 0.78 | |
| FirstGameResolutionWidth | number | 0.78 | |
| FixActionFocus | boolean | 0.78 | |
| FixCC | boolean | 0.78 | |
| FixCOEx | boolean | 0.78 | |
| FixCVCursor | boolean | 0.78 | |
| FixCursorOffset | boolean | 0.78 | |
| FixDIBlock | boolean | 0.78 | |
| FixDIFocus | boolean | 0.78 | |
| FixDXThreadSafe | boolean | 0.78 | |
| FixFSTB | boolean | 0.78 | |
| FixHotkeyRI | boolean | 0.78 | |
| FixInputBlock | boolean | 0.78 | |
| FixInvisibleCursorCR | boolean | 0.78 | |
| FixMixModeCursor | boolean | 0.78 | |
| FixModifierMixMode | boolean | 0.78 | |
| FixMouseDIExclusive | boolean | 0.78 | |
| FixRCEx | boolean | 0.78 | |
| FixResolutionChange | boolean | 0.78 | |
| FixRestoreSWL | boolean | 0.78 | |
| FixSWL | boolean | 0.78 | |
| FixSWLW | boolean | 0.78 | |
| ForceCaptureChangeRehook | boolean | 0.78 | |
| ForceControlRehook | boolean | 0.78 | |
| ForceGBB | boolean | 0.78 | |
| GameGenres | string | 0.78 | |
| GameLinkURL | string | 0.78 | |
| GameNotes | string | 0.78 | |
| GameRenderers | number | 0.78 | |
| GameTitle | string | 0.78 | |
| GenericProcessName | boolean | 0.78 | |
| GroupTitle | string | 0.78 | |
| ID | number | 0.78 | |
| IconFile | string | 0.78 | |
| IgnoreMultipleDevices | boolean | 0.78 | |
| IgnoreRelease | boolean | 0.78 | |
| ImGuiRendering | boolean | 0.78 | |
| InjectionDecision | number | 0.78 | |
| Input | number | 0.78 | |
| InstallHint | string | 0.78 | |
| IsConflictingWithControlHotkey | boolean | 0.78 | |
| IsNew | boolean | 0.78 | |
| IsSteamGame | boolean | 0.78 | |
| KeepInGameOnLostFocus | boolean | 0.78 | |
| Label | string | 0.78 | |
| LastInjectionDecision | number | 0.78 | |
| LastKnownExecutionPath | string | 0.78 | |
| LaunchParams | string | 0.78 | |
| Launchable | boolean | 0.78 | |
| LauncherDirectoryRegistryKey | string | 0.78 | |
| LauncherDirectoryRegistryKeys | string[] | 0.78 | |
| LauncherGameClassId | number | 0.78 | |
| LauncherNames | string[] | 0.78 | |
| ModifierStatus | number | 0.78 | |
| NativeID | number | 0.78 | |
| PassThruBoundsOffsetPixel | number | 0.78 | |
| PressToClickThrough | number | 0.78 | |
| ProcessCommandLine | string | 0.78 | |
| ProcessID | number | 0.78 | |
| ProcessNames | string[] | 0.78 | |
| RecreateSB | boolean | 0.78 | |
| ReleaseKBInOverlayFocus | boolean | 0.78 | |
| ResizeNotifyResolution | boolean | 0.78 | |
| RestoreBB | boolean | 0.78 | |
| RestoreRT | boolean | 0.78 | |
| RunElevated | boolean | 0.78 | |
| SendHotkeyRI | boolean | 0.78 | |
| SetDIInExclusive | boolean | 0.78 | |
| ShortTitle | string | 0.78 | |
| SkipGameProc | boolean | 0.78 | |
| SmartReleaseKBInOverlayFocus | boolean | 0.78 | |
| StableFPSThreshold | number | 0.78 | |
| StuckInTrans_Margin | number | 0.78 | |
| StuckInTrans_MouseMoveGap | number | 0.78 | |
| SupportedScheme | string | 0.78 | |
| SupportedVersion | string | 0.78 | |
| TCModes | number | 0.78 | |
| TerminateOnWindowClose | boolean | v | |
| Type | number | 0.78 | |
| TypeString | string | 0.78 | |
| UnsupportedScheme | string | 0.78 | |
| UpdateCursor | boolean | 0.78 | |
| UpdateCursorMT | boolean | 0.78 | |
| UseAllSafeHook | boolean | 0.78 | |
| UseEH | string | 0.78 | |
| UseHardwareDevice | boolean | 0.78 | |
| UseLauncherIcon | boolean | 0.78 | |
| UseLongHook | boolean | 0.78 | |
| UseMCH | string | 0.78 | |
| UseMH | boolean | 0.78 | |
| UseMHScheme | string | 0.78 | |
| UseMKLL | boolean | 0.78 | |
| UseMW | boolean | 0.78 | |
| UsePR | boolean | 0.78 | |
| UseRI | boolean | 0.78 | |
| UseRIB | boolean | 0.78 | |
| UseSafeHook | boolean | 0.78 | |
| UseTSHook | boolean | 0.78 | |
| WaitRestore | boolean | 0.78 | |
| Win7Support | number | 0.78 | |
| Win8Support | number | 0.78 | |
| Win10Support | number | 0.78 | |
| XPSupport | number | 0.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
| Parameter | Type | Description |
|---|---|---|
| isInFocus | bool | Returns whether overlay is currently being rendered for the game |
| gameIsInFocus | bool | Returns whether the game is currently in focus |
| isRunning | bool | Returns whether the game is currently running |
| allowsVideoCapture | bool | Returns whether the game allows video to be captured |
| title | string | Returns the title of the game |
| id | int | Returns the game ID concatenated with the Instance ID of the game. Divide it by 10 and round down to get the game ID |
| classId | int | Returns the game ID |
| width | int | Returns the pixel width of the game window |
| height | int | Returns the pixel height of the game window |
| logicalWidth | int | Returns the game-reported (logical) pixel width of the game window |
| logicalHeight | int | Returns the game-reported (logical) pixel height of the game window |
| renderers | string[] | Returns an array of the rendering technology names supported by the running game |
| detectedRenderer | string | Returns the rendering technology detected by the running game |
| commandLine | string | Returns the game process commandline |
| type | int | Returns the process type as a number. See notes |
| typeAsString | string | Returns the process type as a string. See notes |
| monitorHandle | object | Returns the current monitor handle |
| windowHandle | object | Returns the current app window handle |
| processId | int | Returns the current process id of the running game |
| overlayRemotelyDisabled | bool | Whether or not the Overlay for this game has been remotely disabled |
| minimumEnabledOverwolfVersion | bool | The minimum (if any) Overwolf version required to enable Overlay for this game |
| isFullscreen | bool | Whether or not the game is currently running in Fullscreen (mostly relevant for OOPO games) |
| isOOPOFullscreenRenderingDisabled | bool | Whether 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
| Parameter | Type | Description |
|---|---|---|
| GameInfoClassID | number | |
| GameInfoID | number | |
| LastTimeVerified | Date | |
| LauncherCommandLineParams | string | |
| LauncherPath | string | |
| ManuallyAdded | boolean | |
| ProcessPath | string | |
| WasAutoAddedByProcessDetection | boolean | |
| GameInfo | GameInfo 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
| Parameter | Type | Description |
|---|---|---|
| success | boolean | |
| error | string | null if success is true |
| isInFocus | bool | Returns whether the game is currently in focus |
| isRunning | bool | Returns whether the game is currently running |
| allowsVideoCapture | bool | Returns whether the game allows video to be captured |
| title | string | Returns the title of the game |
| id | int | Returns the game ID concatenated with the Instance ID of the game. Divide it by 10 and round down to get the game ID |
| classId | int | Returns the game ID |
| width | int | Returns the pixel width of the game window |
| height | int | Returns the pixel height of the game window |
| logicalWidth | int | Returns the game-reported (logical) pixel width of the game window |
| logicalHeight | int | Returns the game-reported (logical) pixel height of the game window |
| processId | int | Returns the current process id of the running game |
| renderers | string[] | Returns an array of the rendering technology names supported by the running game |
| detectedRenderer | string | Returns the rendering technology detected by the running game |
| commandLine | string | Returns the game process commandline |
| type | int | Returns the process type as a number. See notes |
| typeAsString | string | Returns the process type as a string. See notes |
| windowHandle | object | Returns the current game window handle |
| monitorHandle | object | Returns the current monitor handle |
| overlayInfo | OverlayInfo Object | Returns 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
| Parameter | Type | Description |
|---|---|---|
| success | boolean | |
| error | string | null if success is true |
| gameInfo | InstalledGameInfo object | Provides 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
| Parameter | Type | Description |
|---|---|---|
| success | boolean | |
| error | string | null if success is true |
| installedGameInfo | InstalledGameInfo object | Provides 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.
| Parameter | Type | Description |
|---|---|---|
| success | boolean | Describes the call itself, not the individual games |
| games | object, keyed by class ID (string) of GetGameDBInfoResult-shaped entries plus classId | Each 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
| Parameter | Type | Description |
|---|---|---|
| success | boolean | |
| error | string | null if success is true |
| games | number[] | an array of the most recently played game IDs |
Example data: Success
{
"success":true,
"games":[
54261,
11361,
77641
]
}
MajorFrameRateChangeEvent Object
Version added: 0.78
| Name | Type | Description | Since |
|---|---|---|---|
| fps_status | string | can be “None”, “Stable”, “Drop” and “Increase” | |
| fps | number | Indicates 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
| Name | Type | Description | Since |
|---|---|---|---|
| detectedRenderer | string |
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.
| Name | Type | Description | Since |
|---|---|---|---|
| gameInfo | RunningGameInfo object | The new game info data | 0.78 |
| resolutionChanged | bool | Indicates if there was a change in resolution (i.e. the width or height properties were changed) | 0.78 |
| focusChanged | bool | Indicates if there was a change in the game focus status | 0.78 |
| runningChanged | bool | Indicates if there was a change in the game running status | 0.78 |
| gameChanged | bool | Indicates if the gameInfo property represents a different game than before | 0.78 |
| gameOverlayChanged | bool | Indicates 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 issue | 0.160 |
| overlayInputHookError | bool | Indicates that a hooking error has occurred | 0.160 |
| reason | string[] | 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
| Parameter | Type | Description |
|---|---|---|
| coexistingApps | KnownOverlayCoexistenceApps[] | Detected coexisting apps |
| inputFailure | bool | Global input hook failure detected, machine restart is needed. |
| hadInGameRender | bool | Overwolf overlay did render in game |
| isCursorVisible | bool | Indication if the current game is working in "Exclusive Mode" without a visible cursor, like FPS games. See notes |
| exclusiveModeDisabled | bool | ExclusiveMode is disabled. See notes |
| oopOverlay | bool | is game overlay is OOPO. See notes |
| isFullScreenOptimizationDisabled | bool | Indication 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
| Option | Description |
|---|---|
| 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.
| Option | Description |
|---|---|
| Game | This is a Game |
| Launcher | This is a launcher |
| Application | This is an app |
KnownOverlayCoexistenceApps enum
| Option | Description |
|---|---|
| Asus | |
| Discord | |
| MSIAfterBurner | |
| Nahimic | |
| Nahimic2 | |
| None | |
| ObsStudio | |
| PlaysTV | |
| RazerSynapse |