> 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-inventory-add-on/overview/installation.md).

# Installation

This page lists what Inventory V3 needs, what the package contains, and what to check after you import it. Most of the checks are done for you: the Helper's **Home** and **V3 Check** pages list anything that's missing, each with a button to fix it.

***

### Requirements

| Requirement                              | Notes                                                                                                                          |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Unity 6**                              | The package is built and tested on **Unity 6000.0.51f1**.                                                                      |
| **Malbers Animal Controller**            | Required. Inventory V3 uses Animal Controller's characters (`MAnimal`), stats, interactions, Super Item weapons and the Pouch. |
| **Horse AnimSet Pro**                    | Optional. It works alongside Inventory V3, but nothing in Inventory V3 needs it.                                               |
| **A render pipeline: URP or HDRP**       | The Built-in render pipeline isn't supported.                                                                                  |
| **Input System** package                 | Inventory V3's controls, gamepad support and rebinding use it. The developer baseline is Input System 1.18.0.                  |
| **uGUI** package (includes TextMesh Pro) | Every inventory screen is a uGUI canvas with TextMesh Pro text. Baseline: uGUI 2.0.0.                                          |
| **Cinemachine** package                  | Used by Animal Controller's camera rigs and the demo scenes. Inventory V3's own code doesn't reference it.                     |
| **TextMesh Pro Essential Resources**     | Import them with **Window → TextMeshPro → Import TMP Essential Resources** if the project doesn't have them yet.               |
| **QuestForge**                           | Optional. See [The QuestForge switch](#the-questforge-switch) below.                                                           |

When you import the package, Unity offers to install any of the Unity packages above that are missing.

{% hint style="info" %}
Inventory V3 is a new system, not an update to Inventory V2. It doesn't need V2 in the project. If you're moving from V2, see [Upgrading from Inventory V2](broken://pages/5aa2beb5cea04aa844994fe47df3fd0a86d6e97a).
{% endhint %}

***

### Project Settings Inventory V3 Needs

Besides the packages, Inventory V3 needs four project settings. The Helper checks all four (see Step 3 below).

| Setting                                             | Why                                                                                                                                                          | Fix button in the Helper                                         |
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| **Active Input Handling** includes the Input System | With **Input Manager (Old)** only, the inventory controls and gamepads don't work. Use **Input System Package (New)** or **Both**.                           | **Use both…** sets it to **Both**, then offers to restart Unity. |
| **TextMesh Pro essentials** imported                | Without them the inventory screens can't show text.                                                                                                          | **Import** runs *Import TMP Essential Resources*.                |
| An **"Animal" tag**                                 | Coin pickups use it to recognise the player. Animal Controller's setup normally adds it.                                                                     | **Add tag** adds it.                                             |
| An **"Item" layer**                                 | World items, pickups, chests, shops and stations sit on it, so the player's Malbers **Interactor** notices them. Animal Controller's setup normally adds it. | **Open Tags and Layers** (add the layer yourself).               |

{% hint style="warning" %}
Changing **Active Input Handling** restarts Unity. Save your scene first.
{% endhint %}

***

### Installation

#### Step 1 — Prepare the project

1. Open a Unity 6 project that uses URP or HDRP.
2. Import **Malbers Animal Controller** (and run its own setup, which adds the **Animal** tag and **Item** layer).
3. Make sure the **Input System**, **uGUI** and **Cinemachine** packages are installed (**Window → Package Manager**).

#### Step 2 — Import Inventory V3

1. Import the **Malbers Inventory V3** package.
2. Let Unity finish importing and compiling.

The first time Inventory V3 is imported into a project, the **Helper** window opens by itself on **Home**. It only does this once per project. You can open it any time with **Tools → Malbers Animations → Inventory V3 → Helper**, or **Ctrl + Shift + I** (**Cmd + Shift + I** on macOS).

#### Step 3 — Check the project settings

If a project setting is missing, **Home** shows a **Project setup** panel at the top, with one row per missing setting and its fix button. The same list, with every setting (met or not), is on the **V3 Check** page under **Project settings**.

1. Open the Helper (**Ctrl + Shift + I**).
2. On **Home**, fix each row in **Project setup**. If the panel isn't there, nothing is missing.
3. Open **V3 Check** and confirm **Project settings** reads **All set**.

The **V3 Check** page in the side menu shows a badge with the number of settings still missing.

#### Step 4 — Check that V3 stands alone (optional)

On **V3 Check**, the **Stands alone** panel scans every Inventory V3 script, scene, prefab and asset for references outside the package and the modules it ships with. Press **Check now**. It takes a few seconds.

* **Passed** means nothing depends on Inventory V2, on QuestForge, or on anything Inventory V3 doesn't ship with.
* Otherwise each finding is listed (the first 30), and the full list goes to the Console.

The same check is on the menu: **Tools → Malbers Animations → Inventory V3 → Maintenance → Check V3 Stands Alone**.

#### Step 5 — Try it

Open the demo scene (see [The Demo Scenes](broken://pages/5c64c4011f1cb41d39b12f72ae621744f9420e81)), or set up a test scene in two clicks (see [Quick Start: Test Scene with Steve](broken://pages/1e2fbcb06cc76ad2127576af0db22865c25027e1)).

***

### What's in the Package

Inventory V3 installs to `Assets/Malbers Animations/Integrations/InventorySystemV3`. It finds its own folder from its editor assembly, so it keeps working if you move the folder.

| Folder                     | What it holds                                                                                                                                                                                                                                                            |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Runtime/`                 | The core runtime: items, containers, commerce, crafting, status effects, spells, input, saves, world objects and the UI. Assembly `MalbersAnimations.InventoryV3`.                                                                                                       |
| `Integrations/Malbers/`    | Everything that talks to Animal Controller and Super Item (player bridge, equipment, Super Item weapons, Pouch ammo, stats, interactions, loot on death). Assembly `MalbersAnimations.InventoryV3.Malbers`. Its `Resources/` holds the **InventoryV3 Damage Types** map. |
| `Integrations/QuestForge/` | The optional QuestForge integration. These scripts only compile when the `MALBERS_QUESTFORGE` symbol is set.                                                                                                                                                             |
| `Editor/`                  | The Helper window, inspectors, one-click setup, validation, the V2 migration tools and the demo tools. Assembly `MalbersAnimations.InventoryV3.Editor`.                                                                                                                  |
| `Data/`                    | The demo's content: items, currencies, vendors, recipes, stations, loot tables, status effects, enchantments, gems and runes, themes, profiles and catalogs. The Helper's **Create** page offers these as starting points.                                               |
| `Prefabs/`                 | `InventoryV3ProductionUI_v2.prefab` (the inventory screens every new scene gets), `InventoryV3ControlsPanel.prefab`, Inventory V3's Steve (`Player/Steve Player (Inventory V3).prefab`), and the demo's weapons, armour, world items, projectiles, loot bag and effects. |
| `Scenes/`                  | `InventoryV3Demo` and `InventoryV3Demo_Dungeon`.                                                                                                                                                                                                                         |
| `Art/`                     | Icons, loot art, models, particles and UI sprites.                                                                                                                                                                                                                       |
| `UI/`                      | The QuestForge-style theme, control prompt sets, notification styles, and enchantment and status effect icons.                                                                                                                                                           |
| `Resources/`               | **InventoryV3LootSettings** and a few effect materials loaded at runtime.                                                                                                                                                                                                |
| `Localization/`            | `InventoryV3_StringTable.csv`, the exported text table for translators.                                                                                                                                                                                                  |
| `Tests/`                   | EditMode and PlayMode tests. Run them from **Window → General → Test Runner**. The PlayMode tests load the demo scenes.                                                                                                                                                  |

Inventory V3 also uses two shared Malbers modules that install beside it: `Assets/Malbers Animations/Shared/Controls` (the controls and rebinding module) and `Assets/Malbers Animations/Shared/ControlPrompts` (button prompt icons, shared with QuestForge). Keep them in the project.

{% hint style="warning" %}
Don't edit the shipped assets in `Data/` or the shipped prefabs for your own game: an Inventory V3 update replaces them. Make your own content with the Helper's **Create** page, which saves it in your project's own content folder. When you add new content to a catalog that ships with Inventory V3, the Helper makes your project its own copy of that catalog first.
{% endhint %}

***

### The QuestForge Switch

The QuestForge integration (quest rewards, turn-ins, the **Has Items**, **Has Currency** and **Is Equipped** objectives, shared saves and vendor conversations) is compiled only when the scripting define symbol **`MALBERS_QUESTFORGE`** is set. Without it, Inventory V3 compiles and runs normally and QuestForge isn't needed.

#### How it turns on

Turn it on in any of these places. Each one adds `MALBERS_QUESTFORGE` to **every installed build target**, and Unity recompiles scripts.

* **Helper → V3 Check → QuestForge (optional) → Turn on** (asks you to confirm with **Enable and Recompile**).
* **Helper → Tools → Works with → QuestForge → Turn on…**
* **Tools → Malbers Animations → Inventory V3 → Integrations → Enable QuestForge** (no confirmation).

If QuestForge isn't in the project, the integration can't be turned on: the Helper shows **QuestForge not detected** and the menu logs an error. Inventory V3 detects QuestForge by looking for QuestForge's `QuestRewardBase` script.

#### How it turns off

* **V3 Check → Turn off**, **Tools → Works with → Turn off…**, or **Tools → Malbers Animations → Inventory V3 → Integrations → Disable QuestForge** remove the symbol from every build target.
* **Automatically:** if QuestForge is deleted while the symbol is still set, the project would stop compiling. Inventory V3 checks after assets are deleted or moved, and whenever scripts reload, and removes the symbol for you. The Console shows a warning saying so.
* **Tools → Malbers Animations → Inventory V3 → Integrations → Repair QuestForge Symbol** runs the same check by hand and logs the result.

On **V3 Check**, the **QuestForge (optional)** panel shows one of four states: **Not installed**, **Off** (installed, with a **Turn on** button), **On** (with **Turn off**), or **The integration is on but QuestForge is missing** (with **Repair**).

See [QuestForge](broken://pages/f634e52bfd723f46cee93ef3b25908466b16170d) for what the integration does.

***

### After You Import: Checklist

* [ ] **Home** shows no **Project setup** panel, and **V3 Check → Project settings** reads **All set**.
* [ ] The project uses URP or HDRP, not the Built-in pipeline.
* [ ] **V3 Check → Stands alone** passes (optional).
* [ ] If you use QuestForge, **V3 Check → QuestForge (optional)** reads **On**.
* [ ] The demo scene plays: open `Scenes/InventoryV3Demo`, press Play, open the bag with **I** (**Start** on a gamepad).
* [ ] To walk through the door to the Dungeon, both demo scenes are in **File → Build Profiles** (Build Settings). See [The Demo Scenes](broken://pages/5c64c4011f1cb41d39b12f72ae621744f9420e81).

***

### Notes

* **Assemblies.** The runtime core doesn't reference Animal Controller's weapon or equipment classes, Inventory V2 or QuestForge. Animal Controller code is kept in the `MalbersAnimations.InventoryV3.Malbers` assembly.
* **Horse AnimSet Pro.** Inventory V3 compiles without it. Riding support goes through Animal Controller's own rider interface.
* **Helper settings are shared.** The Helper stores your content folder and the "already opened once" flag in `ProjectSettings/InventoryV3Helper.asset`, so it goes into version control with the project.
* **Moving the package folder** is safe. Inventory V3 finds its folder from its editor assembly definition.
