# Semantic databases

Semantic Databases define how TexPacker recognizes texture types from filenames. They are used globally across all TexPacker workflows, including Batch Packer, Repack Textures, presets, and semantic mapping systems.

Semantic Databases are configured per-project in:\
`Project Settings → Plugins → Tex Packer`

<div align="left"><figure><img src="/files/fzRWp0EUplDUjIQhPq2h" alt=""><figcaption></figcaption></figure></div>

TexPacker already includes a built-in semantic database containing common industry naming conventions and texture packing formats.

<div align="left"><figure><img src="/files/qI6NWHtFDNpn1lTF5kt5" alt="" width="479"><figcaption></figcaption></figure></div>

### How Semantic Databases Work

A Semantic Database is a regular Unreal Engine Data Asset that contains an array of texture Definitions.

Each Definition represents a single texture type together with the semantic meaning of its channels.

<div align="left"><figure><img src="/files/7gKlWm0Jtp3ydHu9Eofz" alt=""><figcaption></figcaption></figure></div>

A Definition contains the following fields:

**Name** - An internal identifier used to describe the texture definition.

**Match Patterns** - An array of filename patterns used to identify this texture type.

**Channel Semantics** - Each texture Definition contains four semantic channel assignments representing the meaning of the texture channels.

<div align="left"><figure><img src="/files/lDd7Wb5J4RPEEMZIQXsM" alt=""><figcaption></figcaption></figure></div>

These semantic assignments are used by Semantic Mapping during texture resolution.

Definition order inside the database is important. If multiple textures inside the same group match the same semantic type, TexPacker will use the first matching Definition in the array. Because of this, more specific naming conventions should usually be placed above more generic ones.

To learn more about how Semantic Mapping is used during packing, see the [**Channel Rules**](/ui-modes/batch-packer-mode.md#channel-rules) inside Batch Packer section.

### Creating Custom Semantic Databases

Custom Semantic Databases can be created directly from the Content Browser:

`Right Click → Miscellaneous → Data Asset → Tex Packer SemanticDatabase`

{% columns %}
{% column %}

<div align="left"><figure><img src="/files/nFFXWFmP88cTMFwDjnVR" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}

{% column %}

<figure><img src="/files/Eo6gKekWjajIvMo8DQJd" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

After creating the asset, add Definitions describing your studio naming conventions, texture types, or custom workflows.

To enable the database, add it to the Semantic Databases array in your project settings:\
`Project Settings → Plugins → Tex Packer`

<figure><img src="/files/N62NJrcuhDsJQQ9mzgPB" alt=""><figcaption></figcaption></figure>

Database order is important. Databases at the top of the array have higher priority during semantic resolution. In most cases, custom project databases should be placed at index 0, while the default TexPacker database should remain below them.

This allows project-specific naming conventions to override the built-in definitions without modifying the plugin content.

#### Important Notes

The built-in TexPacker semantic database should not be modified directly.

Editing plugin content can cause problems during plugin updates and may overwrite custom changes.

If the default database is not needed, it can simply be removed or disabled from the Semantic Databases array in Project Settings.

Instead of modifying the built-in database, create a separate custom database and add it alongside the default one. This approach is safer, easier to maintain, and fully compatible with future TexPacker updates.


---

# 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.nautilusgs.com/presets-and-database/semantic-databases.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.
