# Configuration File Reference

DR Sim Manager stores its configuration in several JSON files on disk. Understanding these files is helpful for backup, migration, manual editing, and troubleshooting. All configuration files are standard JSON and can be opened with any text editor.

***

## Configuration File Location

All user configuration files are stored under:

```
%localappdata%\DRSimManager\
```

Which typically resolves to:

```
C:\Users\<YourUsername>\AppData\Local\DRSimManager\
```

{% hint style="info" %}
**Beta vs. Stable isolation:** If you are running DR Sim Manager Beta, configuration files are stored in a separate folder: `%localappdata%\DRSimManagerBeta\`. This ensures that beta and stable installations do not interfere with each other.
{% endhint %}

To quickly open this folder, right-click inside DR Sim Manager and select **Open Log** — the log file is located in the same directory.

***

## Configuration Files

### app.json — Application Settings

The main settings file. Contains every option configured on the Settings tab, plus internal state.

**Key contents:**

* **version** — The application version that last wrote this file. Used for migration detection.
* **first\_run** — Whether this is the first time the application has been launched (`true` on initial install).
* **refresh\_rate** — Motion loop interval in milliseconds (default: 2).
* **globalgain / inputgain** — Global and input gain values (0.0 – 1.0).
* **max\_acceleration** — Safety filter threshold for translational axes in Gs (default: 3.0).
* **max\_angular\_acceleration** — Safety filter threshold for rotational axes in °/s² (default: 2000.0).
* **soft\_limits** — Whether soft axis travel limits are enabled.
* **theme** — Visual theme (Dark, Light, Classic).
* **font\_size** — UI font size.
* **log\_verbosity** — Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL).
* **process\_priority** — Windows process priority (Normal, Above Normal, High).
* **telemetry\_enabled** — Whether anonymous usage data is sent.
* **shortcuts** — Keyboard and controller shortcut bindings.
* **kiosk\_mode / kiosk\_mode\_password\_protected / kiosk\_password** — Kiosk mode settings.
* **rci\_enabled / rci\_port / rci\_mode / rci\_password\_protected / rci\_password** — Remote Control Interface settings.
* **minimize\_system\_tray / launch\_minimized** — Startup behavior settings.
* **aircraft\_crash\_behavior / car\_crash\_behavior** — Crash detection settings.
* **enable\_spike\_notification / enable\_overallocation\_notification / enable\_crash\_notification** — Audio notification toggles.
* **start\_paused** — Whether motion starts in a paused state.
* **game\_settings** — Per-game data including profiles, favorites, hidden status, and source-specific settings (e.g., connection ports, IP addresses).
* **active\_hardware\_profile** — The name of the currently active hardware profile.

### sim.json — Simulator Configuration

Contains the configuration for all simulator components set up in the Sim Config tab.

**Key contents:**

* Simulator type and dimensions (e.g., hexapod geometry, actuator lengths).
* Component positions and orientations.
* Axis travel limits.
* Overallocation factor settings.

### outputs.json — Output Configuration

Contains the configuration for all output devices set up in the Outputs tab.

**Key contents:**

* Output type (Serial, UDP, etc.) and connection details (COM port, baud rate, IP, port).
* Axis-to-port mapping.
* Output-specific settings (e.g., controller type, protocol options).

### ui.config — Window Layout

Stores the main window's position, size, and dock widget arrangement. This is a binary file (not JSON) and should not be manually edited.

* If this file becomes corrupted, DR Sim Manager will delete it automatically on the next launch and reset to the default window layout (maximized).
* Deleting this file manually is safe and simply resets the window layout.

### update\_check.json — Update Check State

Stores information about the last update check (timestamp, latest version found). Used to ensure update checks happen at most once per day.

### announcements\_cache.json — Announcements Cache

Caches the latest announcements fetched from the server to display in-app notification banners.

***

## Subdirectories

### Profiles/

Contains all motion profiles, organized by game. Each game has a subfolder containing one or more profile JSON files.

```
Profiles/
├── AssettoCorsaCompetizione/
│   ├── Default.json
│   └── My Custom Profile.json
├── DCSWorld/
│   └── Default.json
├── iRacing/
│   └── Hexapod Default.json
└── ManualControl/
    └── Default.json
```

### HardwareProfiles/

Contains saved hardware profiles. Each profile is a subfolder containing a `sim.json` and `outputs.json` snapshot.

```
HardwareProfiles/
├── Default/
│   ├── sim.json
│   └── outputs.json
└── Flight Setup/
    ├── sim.json
    └── outputs.json
```

### Plugins/

Contains game-specific plugin files that are auto-installed to game directories. This folder is managed by DR Sim Manager and updated automatically when the application version changes.

### RemoteControl/

Contains the Remote Control Interface files:

* **DRSM-WebSocket-Client.ps1** — PowerShell script for command-line control of the Remote Control Interface.
* **Readme.md** — API documentation for the WebSocket protocol.

### backup/

Created automatically when the application detects a version change. Contains a complete backup of all configuration files from the previous version.

### debug\_reports/

Created when you generate a debug report. Contains timestamped `.txt` files with system info, settings, and logs.

***

## Backing Up Configuration

To create a manual backup of your entire DR Sim Manager configuration:

1. Navigate to `%localappdata%\DRSimManager\`.
2. Copy the entire `DRSimManager` folder to a safe location.

To restore from backup:

1. Close DR Sim Manager if it's running.
2. Replace the `DRSimManager` folder at `%localappdata%\` with your backup copy.
3. Launch DR Sim Manager.

{% hint style="warning" %}
Make sure DR Sim Manager is completely closed before restoring a backup. The application writes to its configuration files during shutdown.
{% endhint %}

### What to Back Up

At minimum, back up these files to preserve your complete setup:

* **app.json** — All settings, shortcuts, and per-game profile lists.
* **sim.json** — Simulator hardware configuration.
* **outputs.json** — Output device configuration.
* **Profiles/** folder — All motion profiles.
* **HardwareProfiles/** folder — All hardware profile snapshots.

***

## Manual Editing

You can manually edit JSON configuration files when DR Sim Manager is not running. Common use cases:

* **Resetting a forgotten kiosk password:** Open `app.json` and set `kiosk_password` to an empty string (`""`) and `kiosk_mode_password_protected` to `false`.
* **Changing the theme without launching the UI:** Edit the `theme` field in `app.json`.
* **Adjusting gain values programmatically:** Modify `globalgain` or `inputgain` in `app.json`.

{% hint style="warning" %}
Always close DR Sim Manager before editing configuration files. Changes made while the application is running may be overwritten when the application saves its settings.
{% endhint %}

***

## Version Migration

When DR Sim Manager detects that the application version has changed (the `version` field in `app.json` differs from the running version), it performs automatic migration:

1. **Backs up** the entire configuration directory into a `backup/` subfolder.
2. **Updates** the `version` field in `app.json` to the current version.
3. **Copies new plugin files** to the Plugins folder.
4. **Merges new profiles** — adds any new default profiles for newly supported games without overwriting existing custom profiles.
5. **Updates the RemoteControl folder** — refreshes the PowerShell client script while preserving any user-modified configuration within it.

On **first run** (when no `app.json` exists), default configuration files are created from templates bundled with the application.

This migration system ensures that updating DR Sim Manager never loses your existing configuration while still applying necessary changes for new features.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.departedreality.com/dr-sim-manager/advanced/config-files.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
