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; default800
)insecure webserver port for all pages provided by the service
requires restart
httpsPort
(number; default801
)secure (HTTPS) webserver port for the same pages. Everything is served on both ports simultaneously.
requires restart
oscPort
(number; default9003
) [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; default10001
)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; default1
)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; defaultfalse
)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; default9016
)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; defaultfalse
)whether to start bundled open stage control instance with the service
requires restart
port
(number; default802
)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; defaultfalse
)For debugging; use Matterport embed SDK instead of default bundle SDK.
oAuthUrl
(string; defaulthttps://auth.igloo.vision/matterport/
)URL for Igloo Matterport Service oAuth proxy.
homePort
(number; default9011
)Igloo Home port; legacy.
homeTimeMinutes
(number; default5
)Time before returning to Igloo Home when opened with a specific URL; legacy.
annotation
defaultColour
(string; defaultblack
).Starting colour of pen tool on annotation page.
defaultFontSize
(number; default90
).Starting font size of text tool on annotation page.
defaultStrokeWidth
(number; default6
).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["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)
{ "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 } } }