> For the complete documentation index, see [llms.txt](https://conusyntax.gitbook.io/products/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://conusyntax.gitbook.io/products/ui-and-gameplay-tag-architecture.md).

# UI & Gameplay Tag Architecture

**Character Creator Pro** is built around **Gameplay Tag driven** **architecture**. Most Widget Blueprints rely on Gameplay Tag variables to determine which action should be executed when a player interacts with UI elements.

{% hint style="info" %}
For example, a dropdown button with the tag `CharacterCreator.Gender` triggers the gender selection logic, while a stepper button with the tag `CharacterCreator.Groom.Hairstyle` changes hairstyle assets.
{% endhint %}

Because of this, all required Gameplay Tags must exist in the **DT\_CharacterCreatorTags** table, found in **Data/DataTables**. This is where any new tags should be defined.

#### Adding New Tags

1. Open the **DT\_CharacterCreatorTags** table.
2. Click **Add** to create a new row.
3. Enter your new **Tag** (e.g., `CharacterCreator.Haircards.Hairstyle`).

<figure><img src="https://1883754984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6EcXMpvBDtWhtztAbvO1%2Fuploads%2FEWDViMmM95CwEJdPFJlM%2FUI%20%26%20Gameplay%20Tag%20Architecture%20-%201.png?alt=media&amp;token=a612b62a-2dec-4d77-bfb8-da5a94439ea1" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Do not rename existing tags unless you also update every widget and switch node using them. Changing tag names without updating references will break functionality.

If you rename a tag, you must manually update:

* Every **Widget Blueprint** referencing that tag.
* Every **Switch on Gameplay Tag** node.
  {% endhint %}

Widgets use **Switch on Gameplay Tag** logic internally. When a widget is clicked or modified, the tag informs the system which function to execute.

<figure><img src="https://1883754984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6EcXMpvBDtWhtztAbvO1%2Fuploads%2FIR2on5oG79vTgP7oHoXb%2FUI%20%26%20Gameplay%20Tag%20Architecture%20-%20Switch%20on%20Gameplay%20Tag.png?alt=media&amp;token=1bcf1d2c-883d-4bfb-a8bd-40cb3d7b6649" alt=""><figcaption></figcaption></figure>

To link a widget to a specific action, go to **Details** ➞ **Button** ➞ **Attributes**, locate the **Gameplay Tag** and assign the appropriate tag that triggers that specific action.

<figure><img src="https://1883754984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6EcXMpvBDtWhtztAbvO1%2Fuploads%2FbxPyhnNTWokxGqaDkM1K%2FUI%20%26%20Gameplay%20Tag%20Architecture%20-%202.png?alt=media&amp;token=a689cfdb-257a-4fe7-8fb8-f94a36ea51c7" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
If the Gameplay Tag is left empty or misspelled, the widget will not trigger any changes.
{% endhint %}
