Skip to main content
Skip table of contents

Configuration

Most of the Igloo Core Service’s settings are managed in the config.json file in its install directory. This is validated when the service is run, so there won’t ever be unused or extra options present in this file. This means that if something is missing, it isn’t supported by the version of the service that you have installed. Settings files from the igloo-cast-sources service can be automatically migrated to this format when installing the Igloo Core Service.


config.json

This section is arranged according to the keys present in config.json. It’ll probably make more sense if you’re looking at a copy of the file; the default is shown at the bottom of this page.

Most settings don’t require the service to be restarted for them to take effect; you’ll generally just need to refresh the browser page that the setting will have an effect on. Anything which is used by the service at start-up is an exception to this; these options are annotated below.

service

Configuration for the service’s backend

  • httpPort (number; default 800)

    • insecure webserver port for all pages provided by the service

    • requires restart

  • httpsPort (number; default 801)

    • secure (HTTPS) webserver port for the same pages. Everything is served on both ports simultaneously.

    • requires restart

  • oscPort (number; default 9003) [requires restart]

    • port that the service listens on for incoming OSC. Needs to match Playback and Igloo Control Panel’s OSC outport ports.

    • requires restart

  • computerName (string; default empty) [requires restart]

    • name for the machine, shown only in ICE Control Panel’s discovery page.

    • requires restart

ice

Configuration for interactions with ICE

  • udpPort (number; default 10001)

    • port on which to send UDP messages to ICE

    • requires restart

controllers

Configuration for outgoing messages from the game engine page.

  • clients (array of strings; default ['localhost:9007', 'localhost:9008']

    • Hosts to send ximu/euler OSC to (Unity/Unreal).

  • controllerServicePort (number; default 10000).

    • Port that Igloo Controller Service is running on. (For movement/controller emulation messages).

sources

Configuration for behaviour of the sources app (Sources tab in Igloo Control Panel).

  • ignoreList (array of strings; default ["IGLOOHOME"])

    • list of Capture input names not to show in the Sources app. Change to [] to stop ignoring Igloo Home.

cast

Configuration for keyboard/mouse casting app (Mouse tab in ICE Control Panel).

  • behaviour ("ice" or "web"; default "ice")

    • Destination of keyboard/mouse events from the cast app - ICE or Igloo Web.

    • requires restart

youTube

Configuration for Igloo Control Panel’s YouTube app.
Position/scale are used to position the Capture channel somewhere other than the middle of the screen. The channel’s position is reset whenever a new video is provided (to prevent 16:9 videos appearing initially with 360 settings).

  • captureName (string; default "YouTube")

    • the name of the Capture channel that has been set up to display incoming YouTube videos; the service uses this to tell Capture to set it to max resolution, reset its geometry, etc. at correct times.

    • requires restart

  • scale (number; default 1)

    • default scale for the above Capture channel

    • requires restart

  • position ([number, number]; default [0.5, 0.5])

    • default position for the above Capture channel

    • requires restart

fileBrowser

Configuration for Igloo Web/ICE’s built-in WebView file browser.

  • contentFolderPaths (array of strings; default ["C:\\igloo\\Content\\"])

    • Filepaths that can’t be navigated ‘out of’ using the GUI. These filepaths won’t have the ‘up a directory level’ arrow added to their UI.

    • Paths need to use escaped backslashes as a separator.

icedrop

Configuration for the ICEDrop file-share app

  • directory (string; default "C:\\content\\icedrop") [requires restart]

    • Target directory for file uploads from ICEdrop. No files will be uploaded if this doesn’t exist

    • Paths need to use escaped backslashes as a separator.

    • requires restart

spacewalk

Configuration for spacewalk app URL parameters

  • p (string; default empty)

    • ‘project’ URL parameter provided to any spacewalk instances on pageload

    • updated by the spacewalk app when a user explicitly visits a new project using the bookmarklet

  • env (string; default empty)

    • ‘environment’ URL parameter provided to any spacewalk instances on pageload

    • updated by the spacewalk app when a user explicitly visits a new environment using the bookmarklet

  • useQA (boolean; default false)

    • whether to use QA or production environment for spacewalk instances

projectorControl

Configuration for projector control capabilities of the backend. Set the target port and desired OSC message(s) here.

  • port (number; default 9016)

    • port for OSC to be sent to when requested

    • requires restart

  • on (array of strings)

    • OSC message(s) to turn projectors on when requested

    • requires restart

  • off (array of strings)

    • OSC message(s) to turn projectors off when requested

    • requires restart

openStageControl

Open Stage Control configuration. See the documentation for the app for more details.

  • launch (boolean; default false)

    • whether to start bundled open stage control instance with the service

    • requires restart

  • port (number; default 802)

    • port for bundled open stage control instance

    • requires restart

  • theme (string; default <install directory>/open-stage-control/igloo.css)

    • path to open stage control theme

    • requires restart

  • session (string; default <install directory>/open-stage-control/default_session.json)

    • path to open stage control session

    • requires restart

  • parameters (array of strings; default [])

    • extra command line parameters to pass to bundled open stage control

    • these parameters are passed by default: --no-gui --read-only --port <configured port> --theme <configured theme> --load <configured session>

    • requires restart

skybox

  • apiKey (string; default empty)

    • BlockadeLabs API key.

streetview

  • apiKey (string; default empty)

    • Google Maps API key.

matterport

  • apiKey (string; default empty)

    • Matterport API key

  • useEmbedSdk (boolean; default false)

    • For debugging; use Matterport embed SDK instead of default bundle SDK.

  • oAuthUrl (string; default https://auth.igloo.vision/matterport/)

    • URL for Igloo Matterport Service oAuth proxy.

  • homePort (number; default 9011)

    • Igloo Home port; legacy.

  • homeTimeMinutes (number; default 5)

    • Time before returning to Igloo Home when opened with a specific URL; legacy.

annotation

  • defaultColour (string; default black).

    • Starting colour of pen tool on annotation page.

  • defaultFontSize (number; default 90).

    • Starting font size of text tool on annotation page.

  • defaultStrokeWidth (number; default 6).

    • Starting stroke width of pen tool on annotation page.

  • eraserMenuPos (vector2; default {x: 0, y: 90}).

    • Position of top left corner of eraser menu on annotation page (in %).

  • sidebarPos(vector2; default {x: 0, y: 12}).

    • Position of top left corner of sidebar menu on annotation page (in %).

  • toolMenuPos(vector2; default {x: 0, y: 0}).

    • Position of top left corner of tools menu on annotation page (in %).

  • clearAllPos(vector2; default {x: 0, y: 80}).

    • Position of top left corner of clear-all menu on annotation page (in %).

controlPanel

ICE Control Panel browser configuration. See ICE Control Panel browsers for more details.

  • tabs (array of strings; default ["default"])

    • tab identifiers to display in ICE Control Panel instances connected to this service.
      Identifiers must be configured

  • apps (array of strings; default ["matterport", "streetview", "warping", "default"])

    • list of app identifiers to display in ICE Control Panel instances connected to this service.
      Identifiers must be configured

  • _defaultOverrides (object<BrowserIdentifier, Partial<BrowserDeclaration>>)

    • override default properties of pre-set browsers


Default config.json

This is created by the service as required. You don’t need to manually create it, or manually add keys (as explained above)

JSON
{
  "service": {
    "httpPort": 800,
    "httpsPort": 801,
    "oscPort": 9003,
    "computerName": ""
  },
  "ice": {
    "udpPort": 10001
  },
  "controllers": {
    "clients": [
      "localhost:9007",
      "localhost:9008"
    ],
    "controllerServicePort": 10000
  },
  "sources": {
    "ignoreList": [
      "IGLOOHOME"
    ]
  },
  "cast": {
    "behaviour": "ice"
  },
  "youTube": {
    "captureName": "YouTube",
    "scale": 1,
    "position": [
      0.5,
      0.5
    ]
  },
  "fileBrowser": {
    "contentFolderPaths": [
      "C:\\igloo\\Content\\"
    ]
  },
  "icedrop": {
    "directory": "C:\\content\\icedrop"
  },
  "spacewalk": {
    "p": "",
    "env": "",
    "useQA": false
  },
  "projectorControl": {
    "port": 9016,
    "on": [
      "/deviceControl/projectors/on"
    ],
    "off": [
      "/deviceControl/projectors/off"
    ]
  },
  "controlPanel": {
    "tabs": [
      "default"
    ],
    "apps": [
      "matterport",
      "streetview",
      "warping",
      "default"
    ],
    "_defaultOverrides": {}
  },
  "openStageControl": {
    "launch": false,
    "port": 802,
    "theme": "C:\\dev\\igloo-core-service\\dist\\open-stage-control\\igloo.css",
    "session": "C:\\dev\\igloo-core-service\\dist\\open-stage-control\\default_session.json",
    "parameters": []
  },
  "skybox": {
    "apiKey": ""
  },
  "streetview": {
    "apiKey": ""
  },
  "matterport": {
    "apiKey": "",
    "useEmbedSdk": false,
    "oAuthUrl": "https://auth.igloo.vision/matterport/",
    "homePort": 9011,
    "homeTimeMinutes": 5
  },
  "annotation": {
    "defaultColour": "black",
    "defaultFontSize": 90,
    "defaultStrokeWidth": 6,
    "eraserMenuPos": {
      "x": 0,
      "y": 90
    },
    "sidebarPos": {
      "x": 0,
      "y": 12
    },
    "toolMenuPos": {
      "x": 0,
      "y": 0
    },
    "clearAllPos": {
      "x": 0,
      "y": 80
    }
  }
}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.