Introduction to Software Settings

The KinectSandbox software uses several parameters that are listed in text files called settings. These parameters define most of the behavior of the software, from the physical range of interaction to the details of appearance. Each parameter has a value – either logical [true, false] or numerical. By changing these values, you change the way the application works and looks.

Types of setting files

There are two types of settings files in the application. The first one is GlobalSettings – it contains parameters that are common to all modules and presets. You will usually set them once at the beginning and then leave them as they are.

The second type is Preset and Mode Settings, both of which are very specific and apply to a single case. To clarify, presets are predefined scenarios of software behavior and modes are the five ‘programs’ of the application (Interactive Map, GraviBall, MagicWorlds, DigQuest and Sandscape Secrets).

Projector + Touch Screen Connected (or secondary screen)

We talk about mode settings (settings_mode_0-4) in the context of touch screen control. They define the program to be loaded and some general parameters that do not need to be tweaked later. Other parameters that can be edited via the touchscreen are saved to the files after each use, so they are constantly overwritten.

Only projector connected

Presets (settings_0-9) are relevant in a setup without touchscreen, where the only way to communicate with the software is via keyboard and mouse. To simplify setup, 10 presets have been introduced, which can be toggled between using a numeric keypad (0-9). Presets define every parameter, including the mode in which the application is currently operating. Although they can still be tweaked during use with a keyboard, the idea is to have them predefined for easy access.

Both preset and mode settings can override some of the values in the GlobalSettings file for the purposes of an individual scenario. This is explained in more detail in the dedicated articles.

How to access settings

There are three ways to access and customize settings. You can use:

  • the dedicated on-screen menu within the application (press Tab on your keyboard)
  • touchscreen controls
  • edit the text files

The touchscreen option is the easiest and most accessible, although it is obviously reserved for touchscreen users. The interface covers most of the editable parameters, while the rest are still accessible in the Settings menu with keyboard and mouse. For more information on touchscreen operation, click here.

The settings menu is a pop-up window that appears on the main screen after you press Tab. Navigation within the menu is done with the mouse. The big advantage over text editing is that you can see the changes while adjusting the parameters. Accessible settings include terrain levels, physical range and boundaries of the simulation, as well as some mode-specific settings. You can read more about the Settings menu here.

View of the Settings Menu starting screen

To save parameters, simply close the application with the “Alt + F4” key combination.

The settings .txt files themselves can be found in KinectSandbox\KinectSandbox_Data\StreamingAssets\Settings. You can simply open them with a text editor and change individual values. Editing the text files may seem like an advanced task, so we have prepared two separate articles for both GlobalSettings and Preset/Mode Settings. It is important to get to know the structure of the files and learn about the accessible parameters so that you can edit them more quickly and efficiently in the future. Also, in some cases you will need to make adjustments in a settings file before tweaking it in the application. Reading the two dedicated articles should clear up any doubts and you can always use them as a reference in the future.

Tips & Instructions

  1. To save parameter changes made inside the application (using the touch control or Settings Menu), the program must be closed. The best way to do this is to use the keyboard shortcut ‘Alt+f4‘. This also means that if you switch from one preset or mode to another, any changes made to the previous preset/mode will be lost. To ensure that changes are retained, edit the preset/mode, close the application, and reopen it.
  2. Inside each Settings file there are parameters containing the following lines: “UseGlobal”: true, “Value”: 0 – means this parameter is defined in the GlobalSettings file; “UseGlobal”: false, “Value”: 150 – means this parameter is overridden by the Settings file and the application will use this value instead of the one defined in GlobalSettings. If a Settings file uses parameters defined in the GlobalSettings, any changes to those parameters made within the application will be saved to the GlobalSettings. Example: You are using the application on preset 1 and you change ‘SandboxTopLevel’ parameter using Settings Menu. Preset 1 used the global value of SandboxTopLevel. Now the GlobalSettings value of ‘SandboxTopLevel’ has been changed and consequently every preset that uses the GlobalSettings value of this parameter will be affected.
  3. That said, it is important to study both the GlobalSettings and Settings files you want to edit. If you only need to apply a change to a preset/mode, make sure the ‘UseGlobal’ parameter is set to false. Some of the parameters are preset/mode specific by default, but this will be discussed in the following articles
  4. You can have up to five settings_mode_ files. Each of them represents a mode of the application. Example: If you use two additional modules (3 in total), you need three files. If for some reason the number of files is smaller, the last module won’t be loaded and you will have to define the parameters yourself. The easiest way is to duplicate the previous file and change the ‘Mode’ value.
  5. You can have a maximum of 10 presets (keys 0-9) – 10 settings files. The principles are the same as in the previous case. No settings file – no preset.
  6. If the application fails to load a preset or mode, it may be because the settings file is corrupt. Typical cases include missing brackets, commas, or a reference to a non-existent location.