> ## 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.

# Quick Start

After you added the asset package to your project, follow these steps to make it work:

### 1. Import the Layout Tags

Open your project's gameplay tag settings from `Edit > Project Settings > Gameplay Tags`

<img src="https://mintcdn.com/furkankursav/iq0QF_ut_iCEGcI5/images/image88.png?fit=max&auto=format&n=iq0QF_ut_iCEGcI5&q=85&s=afb0cf2bccf1d2bc6df1d2e9accef574" alt="image88" width="367" height="360" data-path="images/image88.png" />

add `DT_FDM_LayoutTags` to your `Gameplay Tag Table List`.

<img src="https://mintcdn.com/furkankursav/iq0QF_ut_iCEGcI5/images/image89.png?fit=max&auto=format&n=iq0QF_ut_iCEGcI5&q=85&s=5dbce4a3740526d8c4f7ad02bf0b9b13" alt="image89" width="1257" height="487" data-path="images/image89.png" />

### 2. Add AC\_FDM\_Component

Add `AC_FDM_Component` to your **Player Character** or **Player Controller**.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image2.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=93049bd675619135842f5d98f5cc2854" alt="image2" width="577" height="318" data-path="images/image2.png" />

### 3. Assign a Config asset

Assign a Config asset for the component.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image3.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=a0d3f7c1d57e9b7df292d3eb868cc247" alt="image3" width="1372" height="202" data-path="images/image3.png" />

### 4. Add Input Actions

Add the following input actions:

* `IA_FDM_SelectDown`
* `IA_FDM_SelectLeft`
* `IA_FDM_SelectRight`
* `IA_FDM_SelectUp`

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image4.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=a1832471c0ec00d9df243ac3fa76b384" alt="image4" width="613" height="336" data-path="images/image4.png" />

Then call FDM Directional Input function on Triggered Event with corresponding direction input.

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

| Input Action         | Function                      |
| -------------------- | ----------------------------- |
| IA\_FDM\_SelectUp    | FDM Directional Input (Up)    |
| IA\_FDM\_SelectDown  | FDM Directional Input (Down)  |
| IA\_FDM\_SelectLeft  | FDM Directional Input (Left)  |
| IA\_FDM\_SelectRight | FDM Directional Input (Right) |

### 5. Optional: Example Inventory

Add `AC_FDM_ExampleInventoryComponent` and assign a starting item asset.

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

<img src="https://mintcdn.com/furkankursav/Tk-ROR47VDMDTlEi/images/image7.png?fit=max&auto=format&n=Tk-ROR47VDMDTlEi&q=85&s=56fbfb2517ca31b9b39709eb1b1fabf4" alt="image7" width="814" height="120" data-path="images/image7.png" />

Then initialize the inventory on Begin Play.

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

### 6. Initialize the FDM Component

Call **Initialize FDM Component** when your character/controller is ready (typically on Begin Play).

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

### 7. Use your own system

Open the blueprint of the object (must derive from `UObject`) and implement the `BPI_FDM_EntrySourceObject` interface.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image10.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=42cea47458251666cb12cec22189899f" alt="image10" width="649" height="190" data-path="images/image10.png" />

The most important function is `Get Entry Metadata`.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image11.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=6d29b785bc1a68ea14c9f473d7ed0b74" alt="image11" width="580" height="274" data-path="images/image11.png" />

### 8. Add entries

Add entries by using the **Add New Entry** function.

<img src="https://mintcdn.com/furkankursav/YP7Pry4hmX6mpJYX/images/image12.png?fit=max&auto=format&n=YP7Pry4hmX6mpJYX&q=85&s=7c23c5bd3d9e4a8d0d1d363c89cd021d" alt="image12" width="1199" height="290" data-path="images/image12.png" />
