> For the complete documentation index, see [llms.txt](https://malbersanimations.gitbook.io/animal-controller/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://malbersanimations.gitbook.io/animal-controller/malbers-questforge/setup-instructions.md).

# Setup Instructions

This page takes you from an empty scene to a scene where quests, dialogue, the map, the journal, reputation and controller support all work. Almost everything is done by **One-Click Setup** in the **Helper Window**.

When you've finished, carry on with Creating Your First Dialogue, Creating Your First Quest and Creating Your First Faction.

***

#### Before You Start

Make sure you have:

* **QuestForge imported** into a project with Malbers **Animal Controller v1.5.3 or above**.
* **The Input System enabled.** In **Project Settings → Player → Active Input Handling**, choose **Input System Package** or **Both**. Unity restarts when you change it. (The Helper Window's Controller & UI page checks this and has an **Open Settings** button.)
* **Your player in the scene.** An Animal Controller character with an **MInputLink** (Input System) or **MalbersInput** (legacy Input Manager), for example the Steve Player. If your scene has more than one character with player input, tag the player `Player`.
* **Your main camera tagged `MainCamera`.**

QuestForge uses Malbers' ScriptableObject variables to share the player and camera with all of its systems: a **Transform Hook** on the player fills the **Player** hook, and one on the camera fills **Camera Main**. You don't need to add these yourself any more; One-Click Setup adds them.

You can do all of this really easily by opening a brand new scene and choosing Tools -> Malbers Animations -> Create Test Scene (Steve). That will ensure the Pre-reqs are satisfied.\ <br>

<figure><img src="https://963537199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lzhr1XSMzMqNXjRnNlb%2Fuploads%2FjVXCBZxXuahVFqsVEiXn%2Fimage.png?alt=media&amp;token=6e51c371-f065-42a6-aaf9-0dc808ae0aee" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
One-Click Setup may add QuestForge's actions to your player's input asset (`.inputactions`). That rewrites the file, and Undo can't reverse it. The Helper asks before it does this. Use version control or keep a copy if you've customised the asset.&#x20;
{% endhint %}

***

#### Step 1 — Open the Helper Window

Open **Tools → Malbers Quest Forge → Helper Window**

The window opens on **Home**. For a scene that isn't set up yet, the headline reads **Set up this scene**.

<figure><img src="https://963537199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lzhr1XSMzMqNXjRnNlb%2Fuploads%2FAc1EBHZdVcJDs6FlaOEC%2Fimage.png?alt=media&amp;token=f0c53abf-bdad-4da5-9b16-cfa31e0e5367" alt=""><figcaption></figcaption></figure>

See Helper Window for a tour of every page.

***

#### Step 2 — Run One-Click Setup

<figure><img src="https://963537199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lzhr1XSMzMqNXjRnNlb%2Fuploads%2FdIfMsgs9QRVTah4zheFR%2Fimage.png?alt=media&amp;token=784327b5-a70b-4eaa-acdd-7e7794c43a67" alt=""><figcaption></figcaption></figure>

1. On **Home**, click **Run One-Click Setup**.
2. The **QuestForge One-Click Setup** window lists what it will do and shows the player it found under **Found in this scene**. If it can't find the player, the row tells you why.
3. Check the **Options**. The defaults suit most projects:
   * **Set up the player** — the input bridge, hooks and QuestForge buttons.
   * **Take the D-pad for Map and Journal** — moves D-pad Up and D-pad Right from Holster 3 and Holster 2 to Map and Journal, as QuestForge's demo does.
   * **Minimap**, **Compass bar**, **World map camera**.
4. Click **Set up scene**. If the scene already has QuestForge managers of your own, the button reads **Use my existing managers** instead, and the QuestForgeManagers prefab isn't added.
5. If asked **Change the player's input asset?**, choose **Change it** to add the missing QuestForge actions.

One-Click Setup adds, only where missing:

* the **QuestForgeManagers** prefab (quests, dialogue, points of interest, world map, factions, controller support and screens);
* your player's **Quest Forge Input Bridge**, the **Player** and **Camera Main** hooks, the QuestForge actions in the player's input asset, and the input rows wired to the bridge (Interact is also wired to the **MInteractor**);
* the **Minimap**, **Minimap Camera**, **Compass bar** and **World map camera**;
* an **EventSystem** with the **Input System UI Input Module**, and the controller managers;
* every missing UI screen: button hints, the Controls screen, map filters, the Quest Journal, objective-complete feedback, the dialogue panel, the Reputation screen and notifications;
* the **Faction Manager** and **People** manager.

It's safe to run again: anything already in the scene is kept. All scene changes are one Undo step.&#x20;

***

#### Step 3 — Check the Result and Save

When it finishes, Home shows the **One-Click Setup** result: one row per area (✓ done, ⚠ needs attention), each with an **Open** link. Expand **Everything it did** for the full log.

1. If any row shows ⚠, click **Open** and fix it there. The **Controller & UI** page has a **Fix** button on each check.
2. When the headline reads **Ready — save the scene**, click **Save scene** (or press **Ctrl + S**). The Helper Window never saves for you.

> 📷 **Screenshot:** Home after One-Click Setup, with the result panel all green and the "Ready — save the scene" headline.

***

#### Step 4 — Set Up the World Map (Double check it recognises your world!)

1. Select **WorldMapUI** (inside QuestForgeManagers) on the WorldMapManager GameObject.
2. Click **Auto-Detect World Bounds**. It scans for a Terrain and fills **World Size**, **World Center** and **Camera Height**. Without a Terrain, assign a **Fallback Source** (any object with a Collider or Renderer, such as a plane) first.
3. Under **Map Rendering**, check that **Map Image (RawImage)** is assigned.
4. Optional: under **Waypoint Placement**, with **Snap to Ground** on, narrow **Ground Layer Mask** (default Everything) to your terrain or floor layers, so waypoints don't snap onto triggers or water volumes.

See the World Map page for the rest of its settings.

***

#### Step 5 — Add NPCs and Interactables

<figure><img src="https://963537199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lzhr1XSMzMqNXjRnNlb%2Fuploads%2FvQIY6NddwfJw310L1Zmx%2Fimage.png?alt=media&amp;token=05500046-2e17-4755-bf31-750e025ae334" alt=""><figcaption></figcaption></figure>

Use the Helper Window's **Create** page to add QuestForge components to scene objects.

1. Drag an object from the Hierarchy into **Object** (or select it and click **Use selected object**).
2. Under **What are you making?**, pick a scenario:
   * **Quest Giver NPC**, **Dialogue NPC**, **Static NPC**
   * **Quest Turn-In NPC**, **Enemy NPC**
   * **Quest Collectible**, **Interactive Object**
   * **Quest Location Marker**, **Discoverable Location**, **POI / World Marker**
3. Open **Settings** to adjust the defaults, then click **Create**.

Or switch to **Pick components** to choose components yourself, including **Faction member** and **Reputation action**. See Home and Create.

***

#### Step 6 — Factions (Optional)

If your game uses reputation, open the **Factions** page. Create factions with **New faction** and named characters with **New person**, and make sure each is registered in the scene (**Register all**). Follow Creating Your First Faction.

***

#### Step 7 — Test It

1. Run **Health → Run health check** for a score and a list of anything left to fix. See Health Check.
2. Press **Play**. Try **M** (map), **J** (journal) and your Interact key (**E**). On a gamepad, try **D-pad Up** (map) and **D-pad Right** (journal).
3. Use the **Play Test** page to start and finish quests and change reputation without playing through. Testing changes aren't saved by default. See Play Test & Saves.
4. For a full controller check, run **Controller & UI → Run controller input check**.

***

#### Input Actions

One-Click Setup adds a **Quest Forge Input Bridge** to your player and makes sure these actions exist in the player's input asset, with default controls where they're free, and wires each one to the bridge:

| Action            | Keyboard / mouse  | Gamepad                                      |
| ----------------- | ----------------- | -------------------------------------------- |
| `OpenMap`         | M                 | D-pad Up                                     |
| `CloseMap`        | Esc               | — (the map also closes with Cancel: Esc / B) |
| `OpenJournal`     | J                 | D-pad Right                                  |
| `AdvanceDialogue` | Space, Left Click | A                                            |
| `Interact`        | E                 | Y                                            |
| `PeekPath`        | G                 | —                                            |

Each action's row on the **MInputLink** has its **On Input Down** event connected to the bridge (Interact also to the **MInteractor**).

If you have Inventory V3 installed, it already uses the D-pad, so the journal goes on **View** and the map gets no gamepad default. Players can rebind every action on the in-game **Controls** screen (**F1**, or **Start** in the Journal or Map).

If your player uses **MalbersInput** (legacy Input Manager), add a row per missing action in its Inspector (for example OpenMap on M, OpenJournal on J), then run One-Click Setup again to connect them.

***

#### What You Still Set Up by Hand

One-Click Setup builds the infrastructure. These are yours to create:

* Quest assets, and registering them on the **QuestManager**.
* Dialogue graphs.
* POI Data assets for each location.
* **Dialogue Speaker** assets (portraits, voice, camera targets).
* Faction and person assets, and registering them in each scene that uses them.
* UI canvas layout and positioning.
* Audio clips and sprites.
* The world map's bounds and, if you use waypoint ground snapping, its **Ground Layer Mask** (Step 4).

***

#### Troubleshooting

* **One Click Setup says "No player".** Add your Animal Controller player to the scene, then run One-Click Setup again OR select your player manually.
* **One Click Setup says the player is "Unclear".** More than one character has player input. Tag your player `Player` (or add a **Quest Forge Input Bridge** to it) and run the setup again OR choose your player manually.
* **The gamepad does nothing in menus.** Open **Controller & UI** and fix **New Input System enabled** and **EventSystem uses the Input System UI module**.
* **Map or journal won't open.** Open **Controller & UI** and use the **Fix** on **Player is set up for QuestForge**. It lists any action that doesn't reach QuestForge.
* **Something else.** Run the Health Check. If you think it's a bug, the Helper Window's **Got a Bug?** page builds a report for the Malbers Discord and then post it there!
