overwolf.settings API
Use this API to view and modify one of the following Overwolf settings properties:
- Hotkeys – register a function for a given hotkey, or retrieve an existing hotkey key combination.
- Retrieve the current Overwolf user language.
- Video (i.e., folder location, capture settings, FPS settings, etc.).
Special OW URL's
You can also use the following helpful URLs to open the Overwolf settings and hotkey windows:
overwolf://settings
A clickable link that opens the Overwolf settings window from your app.overwolf://settings/subscriptions
A clickable link that opens the Overwolf Subscriptions settings window from your app.overwolf://settings/games-overlay
A clickable link that opens the Overwolf Overlay and Hotkeys settings window from your app.overwolf://settings/games-overlay?hotkey=hotkey_name_in_manifest
A clickable link that opens the Overwolf Overlay and Hotkeys settings window from your app, and then focuses on the stated hotkey. This should be the same hotkey name as written in the manifest.json.Note that this means you can’t focus on Overwolf’s built-in hotkeys or hotkeys of other apps.
You can even link into the hotkeys of a specific game settings:
overwolf://settings/games-overlay?hotkey=hotkey_name_in_manifest&gameId=game_id
Read more about how to use the overwolf.settings.hotkeys API in our Hotkeys best practices guide.
Methods Reference
- overwolf.settings.getHotKey()
- overwolf.settings.registerHotKey()
- overwolf.settings.getCurrentOverwolfLanguage()
- overwolf.settings.getOverwolfVideosFolder()
- overwolf.settings.setOverwolfVideosFolder()
- overwolf.settings.getOverwolfScreenshotsFolder()
- overwolf.settings.setOverwolfScreenshotsFolder()
- overwolf.settings.getVideoCaptureSettings()
- overwolf.settings.setVideoCaptureSettings()
- overwolf.settings.getAudioCaptureSettings()
- overwolf.settings.setAudioCaptureSettings()
- overwolf.settings.getFpsSettings()
- overwolf.settings.setFpsSettings()
- overwolf.settings.setExtensionSettings()
- overwolf.settings.getExtensionSettings()
Events Reference
- overwolf.settings.onFpsSettingsChanged
- overwolf.settings.OnVideoCaptureSettingsChanged
- overwolf.settings.OnAudioCaptureSettingsChanged
- overwolf.settings.OnHotKeyChanged
Types Reference
- overwolf.settings.enums.ResolutionSettings enum
- overwolf.settings.enums.eIndicationPosition enum
- FpsSettings Object
- GetFpsSettingsResult Object
- GeneralExtensionSettings Object
- GetExtensionSettingsResult Object
- FolderResult Object
- SetFolderResult Object
- Path Object
- GetVideoCaptureSettingsResult Object
- GetAudioCaptureSettingsResult Object
- FpsSettingsChangedEvent Object
- VideoCaptureSettingsChangedEvent Object
- AudioCaptureSettingsChangedEvent Object
getHotKey(featureId, callback)
Version added: 0.78
Permissions required: Hotkeys
Returns the hotkey assigned to a given feature id by calling the callback.
This function is obsolete. Instead, please use overwolf.settings.hotkeys.get().
Parameter | Type | Description |
---|---|---|
featureId | string | The feature id for which to get the set hotkey |
callback | function | A callback function which will be called with the status of the request |
Callback argument: Success
A callback function which will be called with the status of the request
{
"status": "success",
"hotkey ": "Ctrl+F2"
}
registerHotKey(actionId, callback)
Version added: 0.78
Permissions required: Hotkeys
Registers a callback for a given hotkey action.
This function is obsolete. Instead, please register to the overwolf.settings.hotkeys.onPressed event.
Parameter | Type | Description |
---|---|---|
actionId | string | The action id for which to register the callback |
callback | function | The function to run when the hotkey is pressed |
If you are using a transparnet background controller (window), you must register the hotkey in that window.
Callback argument: Success
On successful registration, the callback function which will be called when the hotkey is pressed. A Note regarding hotkeys: Shift can only be combined with the F keys.
{
"status": "success",
"hotkey ": "Ctrl+F2"
}
Callback argument: Failure
If the registration had failed, the callback function will be called immediately with the status "error" and another property, “error”, indicating the reason for the failure.
{ "status": "error", "error": "something went wrong..." }
Usage Example
If your manifest.json file defined these hotkeys:
"data": {
"hotkeys" : {
"my_cool_action": {
"title": "My Cool Action",
"action-type": "custom",
"default": "Ctrl+Alt+C"
}
}
}
A call to register this hotkey should be look like this:
overwolf.settings.registerHotKey(
"my_cool_action",
function(arg) {
if (arg.status == "success") {
alert("This is my cool action!");
}
}
);
getCurrentOverwolfLanguage(callback)
Version added: 0.85
Returns the current language Overwolf is set to in a two letter ISO name format.
This function is obsolete. Instead, please use overwolf.settings.language API.
Parameter | Type | Description |
---|---|---|
callback | function | A callback function which will be called with the status of the request |
Callback argument: Success
A callback function which will be called with the status of the request and the current language Overwolf is set to:
{
"status": "success",
"language ": "en"
}
getOverwolfVideosFolder(callback)
Version added: 0.86
Returns the current folder Overwolf uses to store videos.
Parameter | Type | Description |
---|---|---|
callback | (Result:FolderResult ) => void | called with the status of the request |
setOverwolfVideosFolder(path, callback)
Version added: 0.119
Sets the folder Overwolf uses to store videos.
Parameter | Type | Description |
---|---|---|
path | string | The folder to use |
callback | (Result:SetFolderResult) => void | called with the status of the request |
Note: when you set a directory, you should use escape characters:
overwolf.settings.setOverwolfVideosFolder("C:\\Users\\Azamoth\\Videos\\Captures",console.log)
getOverwolfScreenshotsFolder(callback)
Version added: 0.103
Returns the current folder Overwolf uses to store screenshots and GIFs.
Parameter | Type | Description |
---|---|---|
callback | (Result:FolderResult ) => void | called with the result of the request which contains the current Overwolf screenshots folder |
setOverwolfScreenshotsFolder(path, callback)
Version added: 0.119
Sets the folder Overwolf uses to store screenshots.
Parameter | Type | Description |
---|---|---|
path | string | The folder to use |
callback | (Result:SetFolderResult ) => void | called with the result of the request which contains the current Overwolf screenshots folder |
getVideoCaptureSettings(callback)
Version added: 0.86
Returns the current video capture settings.
Parameter | Type | Description |
---|---|---|
callback | (Result:GetVideoCaptureSettingsResult) => void | called with the result of the request which contains the current Overwolf capture settings |
setVideoCaptureSettings(resolutionSettings, fps, callback)
Version added: 0.117
Permissions required: VideoCaptureSettings
requires the |VideoCaptureSettings| permission.
Sets new video capture settings.
Parameter | Type | Description |
---|---|---|
resolutionSettings | overwolf.settings.ResolutionSettings enum | |
fps | int | |
callback | (Result) => void | called with the result of the request |
getAudioCaptureSettings(callback)
Version added: 0.117
Returns the current audio capture settings.
Parameter | Type | Description |
---|---|---|
callback | (Result:GetAudioCaptureSettingsResult) => void | called with the status of the request |
setAudioCaptureSettings(enableSound, enableMicrophone, callback)
Version added: 0.117
Sets new audio capture settings.
Parameter | Type | Description |
---|---|---|
enableSound | bool | The folder to use |
enableMicrophone | bool | |
callback | (Result) => void | called with the result of the request |
getFpsSettings(callback)
Version added: 0.89
Gets the status of the FPS control (on/off), its position, its offset (in pixels) and its scale [0, 1].
Parameter | Type | Description |
---|---|---|
callback | (Result: GetFpsSettingsResult) => void | A callback function which will be called with the status of the request |
setFpsSettings(settings, callback)
Version added: 0.89
Sets the state (on/off), position, offset (in pixels) and scale [0, 1] of the Fps control.
This function is obsolete.
Parameter | Type | Description |
---|---|---|
settings | FpsSettings Object | Container for the FPS settings |
callback | (Result) => void | called with the result of the request |
setExtensionSettings(extensionSettings, callback)
Version added: 0.149
Sets the extension settings.
Supports enabling/disabling app auto-launch with Overwolf client, exit with Overwolf client and more.
Parameter | Type | Description |
---|---|---|
extensionSettings | GeneralExtensionSettings Object | Container for the extension settings |
callback | (Result) => void | called with the result of the request |
getExtensionSettings(callback)
Version added: 0.149
Gets the extension settings.
Parameter | Type | Description |
---|---|---|
callback | (Result: GetExtensionSettingsResult) => void | A callback function which will be called with the status of the request |
onFpsSettingsChanged
Version added: 0.89
Fired when fps settings are changed, with the following structure: FpsSettingsChangedEvent Object.
OnVideoCaptureSettingsChanged
Version added: 0.117
Fired when video capture settings are changed, with the following structure: VideoCaptureSettingsChangedEvent Object.
OnAudioCaptureSettingsChanged
Version added: 0.117
Fired when audio capture settings are changed, with the following structure: AudioCaptureSettingsChangedEvent Object.
OnHotKeyChanged
Version added: 0.119
Fired when a hotkey is modified. Apps will only be notified of hotkey changes that relate to them.
This event is obsolete. Instead, please use the overwolf.settings.hotkeys.onChanged event.
Event Data Example: Success
{ "source": "replayhud_save", "description": "Replay HUD: Save Replay for later", "hotkey": "Ctrl+Shift+F7" }
ResolutionSettings enum
Version added: 0.78
Describes Resolution settings.
Option | Description |
---|---|
Original | |
R1080p | |
R720p | |
R480p |
eIndicationPosition enum
Version added: 0.78
Describes position to use as anchor.
Option | Description |
---|---|
None | -1 |
TopLeftCorner | 0 |
TopRightCorner | 1 |
BottomLeftCorner | 2 |
BottomRightCorner | 3 |
FpsSettings Object
Version added: 0.78
Container for the FPS settings.
Parameter | Type | Description |
---|---|---|
offset | 2DPoint{x, y} | The offset from the edge (in pixels) |
scale | double | A scale (1.0 = original) |
enabled | bool | Whether to enable or disable fps |
position | eIndicationPosition enum | The position (anchor) to use |
Object Data Example
{
"settings": {
"offset": {
"x": 0,
"y": 0
},
"scale": 1,
"enabled": false,
"position": 0
}
}
GeneralExtensionSettings Object
Version added: 0.149
Container for the extension settings.
Parameter | Type | Description |
---|---|---|
auto_launch_with_overwolf | bool | Set your app to auto-launch when the OW client starts. See notes. |
exit_overwolf_on_exit | bool | Set the OW client to auto-shutdown when your OW app closes. See notes. |
channel | string | Set the app to a specific channel. See notes. |
The exit_overwolf_on_exit option shouldn’t be used without Overwolf’s permission
{
"settings": {
"auto_launch_with_overwolf": true,
"exit_overwolf_on_exit": false,
"channel": "channel_name"
}
}
Usage example:
SetExtensionSettings({"auto_launch_with_overwolf": true, channel: 'channel_name'}, callback).
auto_launch_with_overwolf
notes
- After setting the "auto_launch_with_overwolf", your app should use auto-launch after you start the client (takes ~15 seconds).
- If you would like to set app auto-launch with OW client, you should add the "Tray" permission to your app's manifest permissions list.
- You can set the same app auto-launch with OW client using the manifest. Read more about it.
- Apps launched this way will have origin "overwolfstartlaunchevent".
exit_overwolf_on_exit
notes
- If you would like to set app auto-launch with OW client, you should add the "Shutdown" permission to your app's manifest permissions list.
- Currently you can NOT set the same auto-exit with OW client using the manifest. Maybe we will add this feature in the future.
- Overwolf client no not closes when an app that was using that setting has crashed, however, it will still close Overwolf if the user has dismissed the crash notification or didn’t click on the "Relaunch" button in that same notification.
channel
notes
- You should pre-define your app channels in your dev console.
- You can set a specific channel to use a specific version, this way you can super easily create and distribute beta versions for your apps.
GetFpsSettingsResult Object
Parameter | Type | Description |
---|---|---|
success | boolean | inherited from the "Result" Object |
error | string | inherited from the "Result" Object |
settings | FpsSettings Object | container for the FPS object |
Example data: Success
{
"status": "success",
"settings": {
"offset": {
"x": 0,
"y": 0
},
"scale": 1,
"enabled": false,
"position": 0
}
}
GetExtensionSettingsResult Object
Parameter | Type | Description |
---|---|---|
success | boolean | inherited from the "Result" Object |
error | string | inherited from the "Result" Object |
settings | GeneralExtensionSettings Object | Container for the extension settings |
Example data: Success
{
"success": true,
"settings": {
"auto_launch_with_overwolf": true
}
}
FolderResult Object
Parameter | Type | Description |
---|---|---|
success | boolean | inherited from the "Result" Object |
error | string | inherited from the "Result" Object |
path | Path Object | Container for the path entity |
Example data: Success
{
"status": "success",
"path": {
"Value": "E:\Video\Overwolf",
"Type": "System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Name": "Folders_VideoCapturesFolder"
}
}
SetFolderResult Object
Parameter | Type | Description |
---|---|---|
success | boolean | inherited from the "Result" Object |
error | string | inherited from the "Result" Object |
path | string | Container for the path |
Example data: Success
{
"status": "success",
"path": "E:\Video\Overwolf"
}
FolderResult Object
Parameter | Type | Description |
---|---|---|
success | boolean | inherited from the "Result" Object |
error | string | inherited from the "Result" Object |
path | Path Object | Container for the path entity |
Example data: Success
{
"status": "success",
"path": {
"Value": "E:\Video\Overwolf",
"Type": "System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Name": "Folders_VideoCapturesFolder"
}
}
Path Object
Container for the path entity
Parameter | Type | Description |
---|---|---|
Value | string | |
Type | string | |
Name | string |
Example data
{
"Value": "E:\Video\Overwolf",
"Type": "System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Name": "Folders_VideoCapturesFolder"
}
GetVideoCaptureSettingsResult Object
Parameter | Type | Description |
---|---|---|
success | boolean | inherited from the "Result" Object |
error | string | inherited from the "Result" Object |
encoder | string | |
preset | string | |
fps | number | |
resolution | number |
Example data: Success
{
"encoder": "NVIDIA_NVENC",
"preset": "DEFAULT",
"fps": 30,
"resolution": 2
}
GetAudioCaptureSettingsResult Object
Parameter | Type | Description |
---|---|---|
success | boolean | inherited from the "Result" Object |
error | string | inherited from the "Result" Object |
sound_enabled | boolean | |
microphone_enabled | boolean |
Example data: Success
{
"sound_enabled": true,
"microphone_enabled": false
}
FpsSettingsChangedEvent Object
Parameter | Type | Description |
---|---|---|
setting | string | One of the following values: "OnScreenLocation" / "Enabled" / "Scale" / "Offset" |
Event data example
{
"setting":"OnScreenLocation"
}
VideoCaptureSettingsChangedEvent Object
Parameter | Type | Description |
---|---|---|
setting | string | One of the following values: "resolution" / "fps" / "unknown" / "Offset" |
Event data example
{
"setting":"resolution"
}
AudioCaptureSettingsChangedEvent Object
Parameter | Type | Description |
---|---|---|
setting | string | One of the following values: "speakers" / "microphone" / "unknown" / "Offset" |
Event data example
{
"setting":"speakers"
}