overwolf.games.tracked API
Use this API to get information about games that are defined as unsupported in the Gameslist.
Requires tracked
under the launch_events property in the manifest.json
Methods Reference
Events Reference
Types Reference
- overwolf.games.tracked.GetRunningGameInfoResult Object
- overwolf.games.tracked.OnUnsupportedExecutedEvent Object
- overwolf.games.tracked.GameInfoType Enum
getRunningGameInfo(callback)
Version added: 0.199
Unsupported games will not necessarily be detected as expected, and are by their very nature unsupported by default. Please make sure to test this for the specific game before using it in production!
This method will only work for games with a GameInfoType of type "game"!
If both
tracked
andtrack_all_games
are set to true in the manifest, returns an object with information about the most recently launched game, similarly to the way overwolf.games.getRunningGameInfo() works.
Note: In a scenario when more than one game is running, we'll display information only from the latest one that was launched, including both "unsupported" and "supported" games.
Parameter | Type | Description |
---|---|---|
callback | (Result: GetRunningGameInfoResult) => void | Returns info about the currently running game |
onUnsupportedExecuted
Version added: 0.195
Requires tracked
and track_all_games
under the launch_events property in the manifest.json
Fired when an unsupported game process has launched, with the following structure: OnUnsupportedExecutedEvent object.
onTerminated
Version added: 0.83
Requires tracked
under the launch_events property in the manifest.json
Fired when an unsupported game process has terminated.
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 | number | 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 | number | Returns the game ID |
width | number | Returns the pixel width of the game window |
height | number | Returns the pixel height of the game window |
logicalWidth | number | Returns the game-reported (logical) pixel width of the game window |
logicalHeight | number | Returns the game-reported (logical) pixel height of the game window |
processId | number | 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 | number | 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 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
}
}
OnUnsupportedExecutedEvent Object
Parameter | Type | Description |
---|---|---|
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 |
displayName | string | |
shortTitle | string | |
id | number | 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 | number | Returns the game ID |
width | number | Returns the pixel width of the game window |
height | number | Returns the pixel height of the game window |
logicalWidth | number | Returns the game-reported (logical) pixel width of the game window |
logicalHeight | number | 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 | number | Returns the process type as a number. See notes |
typeAsString | string | Returns the process type as a string. See notes |
overlayInputHookError | bool | Indicates that a hooking error has occurred |
windowHandle | object | Returns the current game window handle |
monitorHandle | object | Returns the current monitor handle |
processId | number | Returns the current process id of the running game |
terminationUnixEpochTime | number | Timestamp of the game terminating |
overlayInfo | OverlayInfo Object | Returns info about the running out of process overlays |
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 |
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. /t 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, CS:GO, Roblox, and warzone 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.