> 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/update-changelog.md).

# Update Changelog

## v2.0 - Factions & Reputation

#### New Features

**Factions and reputation**

* **Factions system:** create factions with reputation tiers, and give each tier a disposition (Hostile, Friendly and so on). Reputation is saved and loaded with the rest of the game.
* **Relationships with individual characters:** each character has a personal score. It can blend with the score of the faction they belong to, so a Ranger can like you more than the Rangers do.
* **Faction affinities:** gaining reputation with one faction can raise it with allied factions and lower it with enemy factions. Multipliers and sign rules control how much spreads.
* **Quest rewards and requirements tied to reputation:** reputation can be a quest reward. Quests can require a faction tier or a character relationship before they start. Failing or abandoning a quest can cost reputation.
* **Dialogue support:** a new **Reputation Node** changes reputation from inside a dialogue. New conditions check faction reputation, character relationships and memory flags.
* **Reputation Action component:** changes reputation from a UnityEvent. A sample component also fires different events depending on how an NPC feels about the player.
* **Reputation notifications:** popups show reputation changes. Changes that happen together are grouped into one popup.
* **Reputation screen:** a new journal page lists factions and people. Its detail pane has a standing ribbon that shows every tier, where you are now, and how far it is to the next tier.

**Inventory V3 integration (Upcoming Release!)**

* **Works automatically when Inventory V3 is installed:** Quest Forge detects Inventory V3 and switches the integration on across all build platforms. If Inventory V3 is removed, it switches off cleanly. Quest Forge never *requires* Inventory V3.
* **Collect objectives show on the map:** the world map, minimap and compass point to the items a Collect objective needs. That covers Inventory V3 world pickups and Super Item pickups, matched by the item's Inventory V3 ID. Empty pickups are skipped. No extra scene component is needed.
* **Inventory rewards:** quests can give Inventory V3 items as rewards (demo example: "Field Supplies"). These rewards report whether they actually succeeded. If the bag is full or the inventory isn't ready, the reward is kept and retried automatically instead of being lost.
* **Reputation popups in Inventory V3's notifications:** an optional component sends reputation changes to Inventory V3's notification stack, so owners of both assets get one set of popups.
* **Integration boundary for other inventories:** other inventory systems can plug into the same item-marker lookup Inventory V3 uses.

**Super Item compatibility**

* **Super Items are locked during dialogue:** while a dialogue is running, Quest Forge locks the player's Super Item managers, so the player can't use, equip or swap items mid-conversation. Each manager's own Lock Mode decides whether equipped items are holstered or hidden. This is on by default; turn it off with **Lock Super Item Manager** on the Dialogue Manager.
* **Super Item pickups work with Collect objectives and quest markers** through Inventory V3's Super Item pickup bridge.

**Controller support**

* **Full gamepad support** on every Quest Forge screen: dialogue, the quest journal, the world map, the waypoint picker, the fast travel confirmation, the map filters and the Reputation screen.
* **World map on a controller:** pan with the stick, zoom, cycle through points of interest, and aim with a crosshair. Hovering a point shows its info. A travels or tracks, and X removes a waypoint.
* **Back-out with B:** B always closes the top screen only, one screen per press.
* **Button prompt bar:** shows the right icon for each action on each screen, for gamepad or keyboard. Prompts update when the player switches device.
* **Controls panel for rebinding keys:** separate keyboard and gamepad columns, conflict warnings, and Reset / Reset All. Rebinds are remembered between sessions. Open it with F1 or Start.
* **On-screen keyboard** so players can name waypoints with a controller.
* **Selection frame:** a gold outline shows which button the controller has selected.
* **Gameplay is blocked while a screen is open:** the character won't jump, crouch or attack while a menu is up.
* **Interaction prompt:** shows "\[Y] Collect" or "\[Y] Talk" when the player is looking at something. Speech bubbles can include `{Interact}` to show the current button.
* **Button icon sets:** Generic (Xbox-style) and Keyboard/Mouse, using Kenney CC0 art. A tool builds sets for other controller brands.

**Quest journal redesign**

* A new two-column journal that matches the style of the Reputation screen. Quests are colour-coded by type (Main, Side, Daily).
* **Objective trail:** completed, current and hidden steps are shown as a path. The journal also shows reward tiles, the reputation cost of abandoning a quest, and how long ago the quest started.

**Speech bubble reactions**

* New `Bark()` API on NPC speech bubbles.
* New **Speech Bubble Reaction** component: an NPC says a line when the player moves, picks up or destroys an object. Settings include random or in-order lines, a cooldown, sound, distance limits and a line-of-sight check.

**Quests and rewards**

* **Rewards that failed are retried automatically:** after loading a save, when the journal opens, and on a timer.
* The quest-complete toast now lists the rewards the player received.
* **Add Reward menu** in the quest inspector's Rewards tab.
* **Minimap and compass follow map filters:** both respect the world map's POI filters, with a toggle to turn this off.

**Helper Window**

* **Rebuilt in UI Toolkit** with a new look. Sections: Home, Create, Factions, Controller & UI, Health, Play Test and Saves.
* **One-Click Setup does everything:** it sets up the player (input bridge, button wiring, D-pad for Map and Journal), the EventSystem, controller support, and all the UI screens.
* **Controller & UI tab:** a "Fix everything" button, per-check Fix buttons, a list of screens with Add buttons, a bindings table, button icon tools, and a scripted controller test that runs with a virtual gamepad.
* **Factions tab:** setup status, a problems list with Fix and Fix All, a tier ribbon editor, an affinity preview, and a scan showing where each faction is used. Authoring for Factions and People is included.
* **Live Play Mode panels** for testing reputation and controller state. By default these changes are not saved.

**Demo content**

* A reworked and fresh new tutorial including a branching storyline showing all the features!

#### Fixed

**Quests, rewards and saving**

* **Repeatable quests** only paid their reward once. Rewards could also report "granted" when nothing was given.
* **Abandoning a quest** sent a "Quest Failed" event instead of "Quest Abandoned."
* **Saving failed without any error** when no custom save path was set. It now falls back to the default folder, and failed saves show an error.
* The save file was rewritten at the start of every session. The dialogue save system also ignored the auto-save setting.
* **Quest givers:** a quest trigger could fire from its own NPC's colliders. One interact press could also turn in one quest and start the next.
* **Reputation idempotency:** reputation from different sources could block each other.
* **Quest toasts:** a new toast was lost if it arrived while another was animating, and an old toast's timer could hide a newer one.

**Inventory V3 and Super Item**

* **Collect objectives could count the same pickup twice** if an item had both a Quest Collectable and an Inventory V3 or Super Item pickup. Quest Forge now warns about this setup, because Inventory V3 already reports pickups to Quest Forge.
* **Item markers used Unity tags to find Inventory V3 items.** Namespaced Inventory V3 IDs aren't valid tag names, so those markers never appeared. Markers now use stable item IDs, and the old "find by object name" option still works.
* **Players could be left locked after an interrupted dialogue:** if a dialogue was cut off (scene change, or the Dialogue Manager disabled), the player or their Super Items could stay locked. Quest Forge now unlocks only what it locked itself and leaves other systems' locks alone.

**Controller and input**

* **The demo player couldn't collect Objective 3** because the scene had cleared the Interact button's wiring.
* **Players couldn't open the map or journal with a gamepad.** Dialogue lines also had no gamepad button to advance them.
* One press of B closed two screens at once, for example Controls and the Journal together.
* Rebinding Submit changed the icon but not the button that actually confirms in menus.
* The keyboard "Fast Travel" binding was invalid and never worked.
* Keyboard players saw D-pad icons in the prompts.
* Broken input action references on the QuestForge player, reported by the input bridge.

**UI**

* **Two "Continue" prompts** appeared in dialogue. "Continue" also showed during camera shots and on popup windows.
* NPC speech bubbles appeared during dialogue.
* Tracking a quest with X did nothing the first time.
* Resting the mouse over a list stole the controller's selection.
* Controller focus jumped to the wrong button when a popup opened.

#### Improved

**Setup and packaging**

* Menus are organised: **Add Component ▸ Malbers ▸ Quest Forge**, and Tools menu items are in a sensible order.
* The Helper's **Docs buttons** open the GitBook pages.
* **Health Check** is more accurate: false "No Map Source" and critical warnings removed. The demo now scores well.

**Inventory V3 (Upcoming Release!)**

* **Quest Forge and Inventory V3 share one button icon module (Required for InventoryV3 Controller Support!)**, `Shared/ControlPrompts`. Both products ship it at the same path, so installing both results in a single copy with no duplicate-type conflicts.
* **Reputation rewards and Inventory V3 rewards use the same reliable delivery**, including retry, a "Waiting" status in the journal, and the list of rewards on the toast.

**Authoring and UI**

* **Quest inspector:** the Factions tab replaces the "TBC" tab, and the Rewards tab was reworked.
* The **map filter panel** was rebuilt with presets (All, None, Quests, Explore, Combat) and full controller navigation.
* The **waypoint picker** has clear controller navigation and visible selection.
* Device switching is detected from any button press, stick movement or mouse movement. Prompts show straight away when a pad is connected.
* The Faction and Character inspectors check your data and can repair tier IDs.

**Other Considerations**

* **Changed shipped input asset:** in `MalbersQFInputs`, D-pad Up now opens the Map (was Holster 3) and D-pad Right opens the Journal (was Holster 2). A (south button) now advances dialogue.
* **The Super Item dialogue lock is on by default.** Anyone who already locks Super Items with their own dialogue setup may want to turn it off.
* **Keep `Shared/ControlPrompts` identical** in the Quest Forge and Inventory V3 packages. If the versions differ, whichever package is imported last overwrites the other.

## v1.0.3 - More Bug Fixes - TBC

{% hint style="danger" %}
UPDATE ONLY SUPPORTED BY ANIMAL CONTROLLER v1.5.2. DO NOT UPDATE UNLESS YOU HAVE ANIMAL CONTROLLER v1.5.2 INSTALLED.
{% endhint %}

* **Added -> NPCSpeechBubble - Show Speaker Name -** Now shows the speaker name above the bubble if turned on.
* **Fixed ->** Issue with Input Actions not correctly registering. Improved the QuestForgeInputBridge to check if there are any errors with the associated actions not being correctly registered, and if so, it will tell you in the console logs.&#x20;
* **Fixed ->** Issue with AC 1.5.2 with ComparerInt
* **Fixed ->** Various Errors when trying to build caused by erroneous Editor Tags being out of place.
* **Improved ->** Audio Source validation on NPCSpeechBubble

## v1.0.2 - More Bug Fixes & New Node - 16/04/2026

* **Added -> Sequence Dialogue Node** - Following feedback - adding multiple simple dialogue nodes one after the other can be a bit clunky and leads to the graphs getting quite large. This node fixes that - if you have a chain of dialogue where you are chaining simple dialogue nodes together, you can put all the text in this one node instead, and it will play one line after the other.
* **Fixed ->** Issue with the Subtitles in the NPC Speech Manager not displaying in sync with the in world bubble.
* **Fixed ->** Issue where the True/False node was not correctly saving values on domain reload.
* **Fixed ->** Issue where "using UnityEditorInternal" was outside of the correct scope on the Quest.cs script which caused bugs when building.
* **Fixed ->** Annoying Visual Element is not my child issue when closing the Dialogue Graph
* **Fixed ->** Editor Styles Issue with True/False Node
* **Fixed ->** Issue with Waypoint Placement on World Map being slightly offset
* **Fixed ->** Error appearing when exiting play mode saying that certain manager gameobjects were not destroyed.&#x20;
* **Improved ->** Choice Dialogue Node - added multi-line support for the choices (this is a little bit flaky because the custom .uss conflicts with unity's own built in TextField .uss. More improvements will be made!)
* **Improved ->** World Map - zooming in/out was not centering on overhead camera location

## v1.0.1 - Initial Release Bug Fixes - 30/03/2026

* **Fixed ->** Removed the double underscores in file path name as that was breaking the one-click setup
* **Fixed ->** Removed old testing values from old input system, and made New Input System the default
* **Fixed ->** Resetting quests was not correctly setting the right value based on the Completed/Failed Status
* **Fixed ->** Choice Dialogue Node - The Choices text were pushing the delete button off the edge of the node and hiding it when the text was too long
* **Fixed ->** Copy/Pasting Text was not working between nodes. You can now copy/paste text into nodes as long as the text field is the focused object (e.g. Click into the text field first where you want to paste to!)
* **Fixed ->** QuestForgeInputBridge Component had the FireOpenJournal function missing. Now Added
* **Fixed ->** Input Actions were not correctly copying over in the demo scene
* **Added ->** Optional Toggle for Saving/Loading the Players Position in the Quest Save System component
* **Added ->** Choice Dialogue Node - You can now move the choices
* **Added ->** NPCSpeechBubbleManager - New Option for displaying the squawks as a Subtitle (think like a movie subtitle) rather than a bubble above the characters head. You can choose either option, or have both at the same time!
* **Changed ->** Simple Dialogue Node now correctly wraps text into multiple lines for easier reading when using long form text.

## v1.0 - Initial Release - 13/03/2026
