App Configuration and Startup

Setting the App Configuration

The startup behaviour of Motive apps varies depending on configuration. App configurations are managed using one of these options. The options are processed in this order.

  1. An AppConfig.json file in the Application.persistentDataPath folder on the device. On Android devices, for example, this folder can be found in Android/data/<bundle id>/files. More information about the format of AppConfig.json can be found here.

  2. An AppConfig.json file delivered via a Launch Service app on the device. More information about how to configure this service app can be found here.

  3. A Unity App Config connected to the Setup node of the Motive App object (e.g. VR App - XAPI for xAPI-enabled VR apps).

Configuration Options for Services

The following service connections can be configured with App Configs.

1. Direct to Storyflow API

The Motive app makes a direct connection to a Storyflow API server. This configuration always uses Storyflow client credentials.

  • AppConfig.json - Direct connection to Storyflow is not available with AppConfig.json.

  • Unity App Setup - Choose “StoryFlow Api” as the Launch Method.

2. Direct to Launch Server

The Motive app makes a direct connection to Launch Server using client credentials.

  • AppConfig.json - Define Launch Url and Client Id/Client Secret for the Launch Server configuration.

  • Unity App Setup - Choose “Launch Server” as the Launch Method and specify the Client Id/Client Secret.

3. Launch Server with Device Flow

The Motive app connects to Launch Server using “Oauth2” Device Flow to get credentials.

  • AppConfig.json - Define Launch Url, but leave Client Id/Client Secret empty.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 { "clusters":[ { "localizedTitle":{ "localizations":[ { "cultureCode":"en", "text":"Motive Launch Server - US" } ] }, "launchServerConfig":{ "url":"https://ls-us.storyflow.dev" } } ] }
  • Unity App Setup - Choose “Launch Server” as the Launch Method and leave Client Id/Client Secret empty.