> ## Documentation Index
> Fetch the complete documentation index at: https://docs.liv.tv/llms.txt
> Use this file to discover all available pages before exploring further.

# Registry

LIV uses the registry to store a few helpful paths for locating and interacting with a LIV installation.

All registry keys are stored under the 64-bit Current User hive, in the location:

```
HKEY_CURRENT_USER\SOFTWARE\LIV.App
```

Stored here are the following keys:

| Key                  | Type    | Purpose                                              |
| :------------------- | :------ | :--------------------------------------------------- |
| BaseDirectory        | String  | Path to LIV's main directory.                        |
| Executable           | String  | Path to LIV's main executable.                       |
| SDKRuntimePath       | String  | Path to the LIV SDK's runtime directory.             |
| ExternalApplications | Sub-key | A list of external applications compatible with LIV. |

They are updated whenever LIV is opened. You can use the `BaseDirectory` path along with `LIV.App.CommandLine.exe` for easy access to the command-line API!

#### ExternalApplications

If you've integrated the LIV SDK, but are not distributing through Steam, Meta Quest App Store, NetVios, or Viveport, you may add an entry to this sub-key and LIV will attempt to detect, launch, and automatically capture your app.

The format for these entries is described below, in JSON - this directly translates to the structure in the registry.

```
"ExternalApplications": {

  // An opaque string identifier for your application.
  "custom-app-id": {

    // User-visible name.
    "Name": "My Custom Application",

    // The app's install folder. Used to detect game engine & SDK version.
    "InstallPath": "C:\Path\To\App",

    "Executable": "C:\Path\To\App\Executable.exe",
    "Arguments": "-your -options -here",
    "WorkingDirectory": "C:\Path\To\App" // Optional.
  }
}
```

<img src="https://mintcdn.com/liv/0QuRwBM3w1rqjtbx/images/mrc/registry.png?fit=max&auto=format&n=0QuRwBM3w1rqjtbx&q=85&s=74b109f8c6789598e4bfd9547407102e" alt="Registry" width="767" height="177" data-path="images/mrc/registry.png" />

It is best practice, if you are adding your application to this list, to proactively update the values stored in the registry whenever your application is installed, run, or uninstalled.

If LIV cannot find the executable, or install path, it will not be added to LIV's capture list. Additionally, if LIV cannot find the LIV SDK in the install path, it will not be added.

Changes to the registry are not live. You need to restart LIV for any changes to apply.
