# Manage profiles (/docs/guides/profiles)

Create, load, save, back up and restore configuration profiles.

## Create a profile [#create-a-profile]

1. Open **Config** and enter a name in **Configuration Name**.
2. Click **Save** to copy the current feature settings and keybinds into a new profile.
3. Check the status message for the saved name.

An existing name creates a numbered copy, such as `Practice - 2`. It does not overwrite the existing profile when the name field is filled. Names are sanitized, and reserved names such as `_settings` and `offsets` are rejected.

## Load or update a profile [#load-or-update-a-profile]

Selecting a row under **Available Configurations** selects the target of the buttons. It does not load that profile.

Click **Load** to apply the selected profile. If the active settings have changed, **Unsaved Changes** offers these choices:

| Choice  | Result                                                        |
| ------- | ------------------------------------------------------------- |
| Save    | Save the active settings before loading the selected profile. |
| Discard | Load the selected profile without saving the current changes. |
| Cancel  | Keep the current settings and close the prompt.               |

To update an existing profile, select its row, leave **Configuration Name** empty, and click **Save**. This writes the current settings to the selected profile, even if a different profile was loaded previously. Select the intended destination before saving.

Feature edits need an explicit save. Menu appearance preferences are stored separately in `_settings.json` and saved automatically.

## Choose what loads on launch [#choose-what-loads-on-launch]

Select a profile and click **Set Default**. Its row receives the `[default]` marker. This changes the startup selection without loading that profile or saving current feature edits.

`CHUDCS2_CONFIG` takes priority over the startup selection when it points to a readable, valid profile. Remove that override to use the default selected in the menu. See [Configuration](/docs/concepts/configuration) for directory and file overrides.

## Delete or reset a profile [#delete-or-reset-a-profile]

Select a profile, click **Delete**, and confirm **Delete Configuration**. There is no undo.

Deleting the active profile loads `default`. Deleting the startup profile changes startup selection to `default`. Deleting `default` recreates it from `assets/config/default.json`, with compiled defaults as a fallback.

To reset feature settings, back up your profiles before deleting `default`, then load the recreated profile. **Reset Menu Appearance** changes menu preferences separately from feature profiles.

## Back up and restore [#back-up-and-restore]

Close CHUDCS2 before copying profiles. For the usual portable directory, run these commands from the repository root:

```bash
mkdir -p profile-backup
cp -a build/configs/. profile-backup/
```

Copy the whole directory to include `_settings.json`. If you use `CHUDCS2_CONFIG_DIR` or a user configuration directory, replace `build/configs` with that directory. Back up a file selected through `CHUDCS2_CONFIG` separately if it lives elsewhere.

Restore the saved files while the application is closed:

```bash
mkdir -p build/configs
cp -a profile-backup/. build/configs/
./build/chudcs2 --validate-config build/configs/default.json
```

This restores the backed-up entries without removing other profiles already in the directory. Use explicit paths to validate each profile you plan to load, then restart CHUDCS2.

With no file argument, `--validate-config` checks `CHUDCS2_CONFIG` when set, otherwise `default.json` in the profiles directory. It does not follow the menu's startup selection.

Grenade lineups and landing zones are separate files. Follow [Grenade authoring](/docs/guides/grenade-authoring) to back them up too.
