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

# Config Variables

### Variables in the Configuration Asset

Every variable in this asset has a **tooltip/description** in blueprints. I will cover the only most important ones in this document.

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image52.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=6fd573458c717fcba8ac5ab23347ab4a" alt="image52" width="1087" height="1683" data-path="images/image52.png" />\\

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image53.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=bc182d407a0bbbf4fec83a4fb1838398" alt="image53" width="669" height="109" data-path="images/image53.png" />

#### Layout Data (GameplayTag -> S\_FDM\_LayoutData)

Contains the layout configuration that maps layout tags to directions, container indices, and order.

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image54.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=b6bb60b544b1dad6944947e5cde04c29" alt="image54" width="1995" height="288" data-path="images/image54.png" />

This map defines where and how containers are going to position inside the menu layout.

* **Key (Gameplay Tag):** Each Entry object also exposes a Gameplay Tag through its metadata (via an interface function), which determines which layout rule should be applied to that entry where it should be placed.
* **Direction:** This is the answer to the question "In which direction should entries with this tag be placed?".
* **Container Widget Class:** As I'll explain later in the documentation, I'm not adding a widget slot directly to the menu. I'm using a wrapper widget to store multiple slots in a container.
* **Item Size:** The size of widgets that will be displayed at this location. When a widget is added to this location, it is automatically wrapped in a size box (`WBP_FDM_CarouselSlotContainer` does this).
* **Show Empty Slots:** If enabled, if there is not any entry in this container, it spawns a widget from `EmptySlotsClass`, otherwise the container will be hidden.

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image55.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=a33c7ff2bc987bdbc210757c2710b35d" alt="image55" width="1474" height="1063" data-path="images/image55.png" />

#### Default Entries

A list of entries that are automatically added to the menu during initialization. The given classes must implement the `BPI_FDM_EntrySourceObject` interface.\
This is mainly useful for prototyping, demo scenes, or static setups. In production gameplay, entries are typically added dynamically from inventory, abilities, or game state instead.

#### Auto Bind Navigation Mapping Context

For the system to recognize the navigation inputs, Navigation Mapping Context from the config file must be applied to player input. If you turn off this variable, you will need to call the “Bind Navigation Mapping Context” function within `AC_FDM_Component` manually.

#### Padding to Center

Defines how far the first slot container in each direction is positioned away from the center.\
<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image56.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=ce859457af27c40dfed1bbd94ee7fbb4" alt="image56" width="455" height="275" data-path="images/image56.png" />\
Padding to Center is 0 in this screenshot

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image57.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=1e7812b3963990f0f99e131d7c121306" alt="image57" width="544" height="255" data-path="images/image57.png" />\
Padding to Center is 50 in this screenshot

#### Hide Center Texture While Changing Slot

If enabled, the center cross texture is hidden when the slot-switching (expand / carousel) mode is active.\
<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image58.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=c29014cd4805a65459433d2792f8632d" alt="image58" width="672" height="178" data-path="images/image58.png" />\\

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image59.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=5917286cf7f6c8995218d1bc250ebefb" alt="image59" width="693" height="360" data-path="images/image59.png" />

#### Center Texture Direction Map

Allows assigning different center textures depending on the currently focused direction (Up, Down, Left, Right).

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image60.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=4c53d7901257e29e7f56a77d67f3e6a2" alt="image60" width="219" height="147" data-path="images/image60.png" />

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image61.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=eef467bf0c831ffc571e3294d62ed770" alt="image61" width="221" height="142" data-path="images/image61.png" />

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image62.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=cc04efc86a6ca54e975a167e4ca690d1" alt="image62" width="187" height="109" data-path="images/image62.png" />

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image63.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=6c75f4f94a2430bc34793a757c85aa37" alt="image63" width="178" height="138" data-path="images/image63.png" />

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image64.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=6a651825d9ac84efe8fd64bce696a27d" alt="image64" width="190" height="142" data-path="images/image64.png" />

If you want to use a material instead of texture, you can change this behavior in `WBP_FDM_Widget > Refresh Center Image Direction` function.

#### Cycled Container Changing

When enabled, navigating beyond the last container will wrap around to the first, creating cyclic navigation. In the animations below, I’m just pressing the “Select Up” button multiple times.

Turned Off

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image65.gif?s=81825a5146dd0030ad633e352ad1dfcc" alt="image65" width="342" height="615" data-path="images/image65.gif" />

Turned On

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image66.gif?s=30f9c09ba4c1e9a0dbcea8b1f0f37633" alt="image66" width="342" height="615" data-path="images/image66.gif" />

#### Use Debounced Selection & Debounce Duration in Seconds

Already explained in [Debounce Mechanism](/core-concepts/fdm-component-sub/navigation#debounce-mechanism) section.

#### Padding Between Containers

Controls the distance between multiple containers within the same direction group.\\

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image67.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=dbae0ac35834f0f4bdc2ef409fc9a0eb" alt="image67" width="454" height="117" data-path="images/image67.png" />

#### Padding Between Slots

Defines the vertical or horizontal spacing between slots inside a container.\\

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image68.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=d63a214b217e555c7dfdcb0b0c3b9095" alt="image68" width="322" height="585" data-path="images/image68.png" />

#### Change Slot Widget

Defines the widget class used to display the "hold to change slot" UI when a container contains multiple entries.\\

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image69.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=c0541e40576e06aee4e5f91720b978cc" alt="image69" width="176" height="61" data-path="images/image69.png" />

There is a default widget for that in `FlexibleDirectionalMenu/Widgets/` called `WBP_FDM_ChangeSlotInputAction`. You can modify this widget or you can create your own widget. It must implement the `WBPI_FDM_SlotActionWidget`.

#### Change Slot Hold Duration

Specifies how long the user must hold the input before the slot switching mode becomes active.

#### Visibility Variables

Explained in [WBP\_FDM\_Widget > Visibility](/widgets/visibility) section.

#### Sound Map

The public `Play Menu Sound` function plays the corresponding sound when a matching Gameplay Tag is provided; by default, example engine sounds are used when **a slot is selected** or **a container opens**.

<img src="https://mintcdn.com/furkankursav/8iCOYfS-U_6RM0cY/images/image101.png?fit=max&auto=format&n=8iCOYfS-U_6RM0cY&q=85&s=946190c8e07c23977a3d89b1fc4dc703" alt="image101" width="829" height="250" data-path="images/image101.png" />
