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

# What is inside a product resource

> The directories in an installed product, which files you own, and what start order requires.

A product is a single directory under your server's `resources`. Knowing what each part of it is
tells you what you may edit, what you must keep a copy of, and what an update replaces.

## The layout

```text theme={null}
resources/[element]/element_map/
  fxmanifest.lua
  configs/
  locales/
  ui/
  stream/
  integrations/
  windows-install-hooks-element_map.bat
  windows-install-hooks-element_map.ps1
  linux-install-hooks-element_map.sh
```

| Part                  | What it is                                                                                                                                                                                   | Yours to edit                                                                    |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `fxmanifest.lua`      | Declares the resource to your server, including which SDK versions the product accepts.                                                                                                      | Only when adding a language file. See [Languages and text](/sdk/localization).   |
| `configs/`            | One file per group of settings.                                                                                                                                                              | Yes. See [Configuration files](/sdk/configuration).                              |
| `locales/`            | One file per language, plus the list of languages the release contains.                                                                                                                      | Yes. See [Languages and text](/sdk/localization).                                |
| `ui/`                 | The interface the product draws in game.                                                                                                                                                     | No.                                                                              |
| `stream/`             | Models and textures the product adds to the world. Present only when a product ships them.                                                                                                   | No.                                                                              |
| `integrations/`       | Code that has to run inside your **other** resources. Present only when a product needs it.                                                                                                  | No, but it needs installing. See [Product integrations](/concepts/integrations). |
| The installer scripts | Install the contents of `integrations/` into your other resources. Present only alongside `integrations/`. On Windows the `.bat` is a launcher for the `.ps1` beside it; keep them together. | No, but you run them.                                                            |

Some products ship fewer of these. A product with no interface has no `ui`, a product that adds
nothing to the world has no `stream`, and a product that needs nothing from your other resources has
no `integrations` and no installer scripts.

## What an update replaces

An update replaces the whole directory. Everything above comes from the new release, including
`configs` and `locales`.

Keep your edited configuration and language files outside the resource directory and put them back
after each update. [Update a product or the SDK](/getting-started/updating) describes the procedure.

## Start order

`element_sdk` must be running before a product starts. List it first in `server.cfg`:

```cfg theme={null}
ensure element_sdk
ensure element_map
```

At start, a product checks that `element_sdk` is present, running, and within the versions the
product accepts. Any of those failing stops the product before it does anything, with a console line
naming the reason. See [SDK version requirements](/sdk/compatibility).

Resources beyond the SDK are different: a product that uses your framework, inventory or database
picks one the first time it needs it, from what is running then, so their position in `server.cfg`
does not matter. Once picked, the choice is kept for the rest of the session. See
[Supported server resources](/sdk/supported-resources).

## Related

* [How an installation is put together](/concepts/architecture)
* [Configuration files](/sdk/configuration)
* [Product integrations](/concepts/integrations)
* [Update a product or the SDK](/getting-started/updating)
