# Structure

The modding system allows developers to create, customize, and share their own mods with others.&#x20;

### 📂Mods Folder Structure <a href="#f0-9f-93-82-how-mods-are-structured" id="f0-9f-93-82-how-mods-are-structured"></a>

* `mods/` Directory
  * All mods are located inside the `mods` directory in your R5Reloaded base game folder.
* `mods.vdf` (Mod List)
  * Mods are enabled or disabled through the `mods.vdf` file.&#x20;
  * If a mod is present in the folder but not listed in `mods.vdf`, the SDK will **automatically** detect and enable it by default.

### 📦 Individual Mod Structure <a href="#f0-9f-93-a6-individual-mod-structure" id="f0-9f-93-a6-individual-mod-structure"></a>

Each mod has its own subfolder within the `mods` directory. Inside a typical mod folder, you'll find:

```
ExampleMod/
├── mod.vdf
├── scripts/
│   └── vscripts/
│       ├── scripts.rson
│       └── sh_callback.gnut
├── audio/
│   └── ship/
│       └── example_sound.mbnk
├── materials/
│   └── correction/
│       └── __example_color_grade.raw_hdr
├── paks/
│   └── win64/
│   │   └── ui_sdk.rpak
│   └── win64_Server/
│       └── common_sdk.rpak
└── vpk/
    ├── client_mp_rr_arena_skygarden.bsp.pak000_000.vpk
    └── englishclient_mp_rr_arena_skygarden.bsp.pak000_dir.vpk
```

* **Pak Files**: For custom assets.
* **Resource Folder**: For localization (translations) and UI assets.
* **Scripts Folder**: For any custom logic or gameplay changes.
* **mod.vdf**: A configuration file.

### 🔧 What Can Be Customized in a Mod? <a href="#f0-9f-94-a7-what-you-can-customize-in-a-mod" id="f0-9f-94-a7-what-you-can-customize-in-a-mod"></a>

* **Basic Mod Information**
  * Set your mod's name, unique ID, description, version number, and author.
* **Localization**
  * Add your own translation files to support multiple languages.\
    Example: `resource/mymod_%language%.txt`.
  * Game expects a localization file for every language it supports. Make sure they are present.
* **ConVars (Console Variables)**
  * Define custom settings that players can tweak via the in-game console or scripts.
* **Custom Audio** (Not Yet Supported)
  * Create your own miles banks to load custom audio from mods.
  * Custom audio is currently not possible but mod system can load multiple banks.
* **Custom Scripts**
  * Add or override game behavior using your own scripts to create new features, modify movement, weapons, UI, or even create brand-new game modes.
