> For the complete documentation index, see [llms.txt](https://docs.r5reloaded.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.r5reloaded.com/pak-loading.md).

# Pak Loading

Pak system allows user to load their own assets. Custom weapon models, legend skins, custom heirloom animations and more.

Check here to learn how REPak works and how to build a rpak.

### Pak Types and Load Paths

**RPAK** loading behavior depends on the server type:

* Client / Listen Server
  * Loads `.rpak` files from the `paks/Win64` folder.
  * These files must include **all dependencies** required for loading.
  * If any `.starpak` files are associated, they **must** also be included.
* Dedicated Server
  * Loads `.rpak` files from the `paks/Win64_Server` folder.
  * Server only `.rpak` files should exclude unnecessary assets such as textures, materials, and UI assets.
    * Avoid using client rpaks on dedicated servers. Doing so will increase memory usage and slow down load times.
  * `.starpak` files are **not required** for dedicated server.

### Loading RPAK Files

The SDK supports two methods for loading `.rpak` files:

* Preloaded Rpaks
  * These `.rpak` files are loaded during the first map load and **remain loaded for the entire session**.
  * To designate `.rpak` files as preloaded, a `preload.rson` file is required in the same directory.

#### Preload.rson Format:

```yaml
Paks:
[
    common_sdk.rpak,
    example2.rpak,
    ui_sdk.rpak
]
```

* Playlist Controlled Rpaks
  * These `.rpak` files are dynamically loaded/unloaded based on the selected playlist and level changes.
  * To use this system, specify the `.rpak` and related playlist names in the `mod.vdf` file.

{% hint style="warning" %}
The structure and usage of mod.vdf are described on the previous page.
{% endhint %}
