App Configuration and Startup

In depth learning on App Configs can be found in this course in Motive Academy.

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.

Step 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.

Step 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.

Step 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.

    { "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.

Configuring Dual Use in Editor

In the majority of cases, you will want to ensure that deployed apps are configured to use Launch by default. However, during the development phase it is often more convenient to configure for Storyflow. The Setup node gives you a convenient way to manage this without having to swap App Configs at build time:

In this configuration we are using Launch for deployed apps and Storyflow for apps running in Unity.

Related Articles