In-game and Overlay Windows
Overwolf provides developers with the tools to create innovative apps that enhance the gaming experience without disrupting it. Using Overwolf's real-time game events API empowers your app to interact with in-game events. Develop your app overlays to respect and enhance gameplay. This provides value and creates high-quality apps that enhance the gaming experience.
Types of in-game windows
There various types of in-game windows that you can use in your app.
- Lobby Screen—displays information before a match. You can use this screen to display data such as player stats, or team details.
- Loading Screen—provides useful content while the game loads. You can use this screen to display things like tips and tricks, and player stats.
- In-Game Overlay—shows real-time data, recommendations, stats, and other information relevant to game play. Use this to enrich gameplay without disrupting it.
- Widgets—small, floating elements that display relevant info, such as timers, scores, or status indicators. Use widgets to help users with their gameplay so that they have quick access to your apps features.
- Second Screen—have your app load on a companion display. Typically this would be used for extended game information.
Key topics to keep in mind when designing your app's in-game windows include:
- Hotkey Reminders—include reminders in widgets/screens and use notification prompts. For more information see, Hot keys.
- Avoid Blocking Game UI—ensure overlays don’t interfere with critical gameplay elements.
- Opacity Considerations—avoid using semi-transparent widgets or overlays that reduce clarity and game performance.
- Context-Relevant Information—display dynamic and game-specific data to enhance the player’s experience.
Types of overlay windows
Overlay is the ability to show a window on top of the current game window. There are two kinds of overlay modes, standard and exclusive.
In games which have a state with a mouse cursor (e.g., MOBA), users can interact with Overwolf app without pulling focus out of the game. In games which have a state without a mouse cursor (e.g., FPS), users need a way to control and interact with the app’s window.
Standard mode
Standard mode is available in games where the mouse is enabled when playing the game. For example, in MOBA games such as League of Legends, Dota 2, and others, the mouse cursor is available, and therefore you are able to interact with the app windows without the need to pull keyboard and mouse focus input from the game.
Exclusive mode
Exclusive mode is available in games where the mouse is disabled when playing the game. For example, in FPS games such as CS2, Fortnite and others, there’s no mouse cursor, so the only way to interact with the Overwolf app window is by activating exclusive mode. This will show a semi-transparent window overlaid on the game window and doesn't allow keyboard or mouse input to pass into the game.
How to enter exclusive mode
There are two options to enable the exclusive mode while you are in a game:
Use Ctrl + Tab
Pressing Ctrl + tab while you are in a game, sets Overwolf in exclusive mode. This will cause the game window to become semi-transparent in the background, the Overwolf dock is shown, and you can interact with your Overwolf app's windows (if any windows are open).
Pressing Ctrl + tab again, or clicking outside of the Overwolf app's window, will turn off (release) exclusive mode.
Using a hotkey
In your app, if you have a window that is bound to a hotkey, and you want to enter exclusive mode when the hotkey is pressed, set the flag focus_game_takeover
to ReleaseOnHidden
. Then, set the focus_game_takeover_release_hotkey
to the hotkey name. This way when the hotkey is pressed, the window will show up and enter exclusive mode (enabling user interaction and accepting input from the user). When the hotkey is pressed again, the window will hide and exit exclusive mode.
Automatically on window launch
If you have a window that displays automatically (e.g. a startup window) and you want to enter exclusive mode automatically when the window is shown, set the flag focus_game_takeover
to ReleaseOnLostFocus
. This way when the window is launched, it automatically enters exclusive mode (and enables user interaction and accepts input from the user). Once the user clicks outside the window, the window will exit the exclusive mode.
Special Overlays
Several specific games such as CSGO, Warzone, and Destiny 2, have some additional limitations in addition to the exclusive mode that is required to interact with the Overwolf windows.
When one of these games is running in non-borderless fullscreen mode (other modes are fullscreen borderless and windowed mode), exclusive mode is completely disabled, and there's no option to interact with your app's window. The only thing that you can do is to notify the user and ask them to change the game mode to fullscreen borderless or windowed mode.
To detect if the game is running in non-borderless fullscreen, read the overwolf.games.OverlayInfo.exclusiveModeDisabled property. If it returns true
, it means that the exclusive mode is disabled, and you should display the user a notification about it. You can suggest to change the mode to fullscreen borderless or windowed mode, otherwise there will be no way to interact with your app's windows.
Overwolf allows capturing these games ONLY in fullscreen-borderless mode. If the game is in fullscreen non-borderless or windowed mode the capture will not work correctly.