# Game resource architecture

## Resource modules

Game resources consist of two parts

<figure><img src="/files/KbXiPFrgfCPOm4etprjH" alt=""><figcaption><p>Root directory</p></figcaption></figure>

<table><thead><tr><th width="234">Directory</th><th>Description</th></tr></thead><tbody><tr><td>resource/</td><td>Basic resources</td></tr><tr><td>packages/</td><td>Packages are represented as folders containing resources related to game components or mods. Each package contains its own folder.</td></tr></tbody></table>

## Types of packages

<table><thead><tr><th width="234">Package type</th><th>Description</th></tr></thead><tbody><tr><td>DLC</td><td>Game add-on package. <br>It is a commercial package that can be purchased as standalone DLC or as part of bundles with other Steam products. <br>Only the developer can add DLC packages</td></tr><tr><td>Regular</td><td><p>Game component. <br>This is a part of the game or DLC.</p><p>Only the developer can add game component packages</p></td></tr><tr><td>Workshop Item</td><td><p>A custom modification package published through the Workshop as a custom mod.</p><p>Anyone who makes mods can add Workshop Item packages</p></td></tr><tr><td>Raw package</td><td>A package of a created but unpublished mod</td></tr></tbody></table>

**The main game folder contains** :

* basic resources;
* regular packages;
* DLC packages

### Package Manager <a href="#paket-menedzher" id="paket-menedzher"></a>

The Package Manager is an integral component of the Gem RTS engine, designed to coordinate resource loading upon application startup.\
Basic resources are loaded first. \
Then the Package Manager determines the loading order of files from packages based on their properties specified in the .info files.

When loading files from packages, the global or scene context is also taken into account. This context defines the general principles of organizing game resources in the packages, allowing for the inclusion or exclusion of specific resources depending on the loaded content, such as modifications, campaigns, specific missions or maps in the game or editor.

{% hint style="info" %}
The Package Manager is a built-in feature of the Gem RTS engine, and users do not have direct access to modify its settings. \
This ensures consistent and efficient management of resources without manual intervention, streamlining gameplay and development workflows.
{% endhint %}

***

Learn more

<table data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th><th></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td></td><td><a href="/pages/uC2yAtqXoXVnR9PPf9rx">/pages/uC2yAtqXoXVnR9PPf9rx</a></td><td></td><td></td><td><a href="/files/ueYOF7YCEEu954WYabzW">/files/ueYOF7YCEEu954WYabzW</a></td></tr><tr><td></td><td><a href="/pages/S9nvKIfvUs7j4pFxj9qv">/pages/S9nvKIfvUs7j4pFxj9qv</a></td><td></td><td></td><td><a href="/files/ueYOF7YCEEu954WYabzW">/files/ueYOF7YCEEu954WYabzW</a></td></tr></tbody></table>


---

# 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.bestway.com.ua/foundational-knowledge/game-resource-architecture.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.
