Skip to main content

Sample App Components

You can download the latest version from our GitHub here, and read how to setup it here.

You will find several files and folders in the sample app repository:

  +---- css
+---- img
+---- windows
+---- icons
+---- odk-ts
+---- types
+---- manifest.json
+---- consts.ts
+---- package.json
+---- tsconfig.json
+---- webpack.config.js

manifest.json

The manifest file is responsible for describing the different aspects of your app. This is a mandatory file for all apps and has to be present in the root folder for your app to function.

In our manifest.json file, we have {start_window:background} defined.
This sets our background window as the app's starting point.

All of this app's windows' properties can be found under the windows object.

windows

Each app window is based on an HTML file. This folder contains these files for each of your pages.

windows/background

The background folder holds the background window, which serves as the application's starting point and window orchestrator.
The window's run() method detects whether a Fortnite game is currently running, decides which window to launch accordingly, and listens for changes.

The background window has no visual representation, which can be gleaned from the empty background.html file or from the {is_background_page:true} property the background window has in our manifest.json.

tip

You can read more about the background controller concept in our Communicating between windows guide.

windows/in_game

The in_game window listens to Info Events and Game Events emitted by the game. Furthermore, it defines the behavior for the show/hide hotkey.

Read all about hotkeys here.

windows/desktop

This window serves a purely visual purpose and has no special logic.

windows/AppWindow

This is a base class that holds the logic shared by the in_game and desktop windows, such as minimize/close, drag, etc.

types package

Currently, the Overwolf SDK is written in javascript. The type definition file holds typescript type definitions for the SDK methods used in this app.

We released the types file as a npm package, and the sample app used this package.

icons

Mandatory files showing up in the Overwolf dock and other locations:
Tile.jpg, IconMouseNormal.png, IconMouseOver.png, desktop-icon.ico.

css and images

All of the visual resources used by the app.