State Designer
The State Designer integration lets States and transitions inspect or change released Ultimate Inventory System Version 1 Items, Currency, Item Actions, panels, interactions, and saves without a custom bridge component.
Before you begin
- Install released Ultimate Inventory System Version 1 and confirm the target Inventory works without State Designer.
- Install State Designer and run a small State Machine.
- Create the Item Definitions, Item Collections, Currency, Item Action Sets, panels, and save objects that the graph will reference.
- Commit or back up the project before replacing an older bridge.
Install the integration
- Sign in to Opsive Downloads and download the State Designer integration for Ultimate Inventory System. The bridge is not included in either base product’s Integrations folder before this download.
- Import
UltimateInventorySystemStateDesigner.unitypackageafter both products compile. Importing it creates the integration files in the project. - Let Unity compile and search the State Palette for Has Item With Definition, Add Item, and Use Item From Inventory.
- Put the first test State Machine on the same GameObject as the target Inventory. Add explicit targets only after the local route works.
The bridge adds Actions and Conditions; it does not create or migrate an Ultimate Inventory System database.
Build a Health Potion State
- Create Idle and Use Potion States.
- Add Has Item With Definition as the transition Condition into Use Potion. Select Health Potion and amount
1. - Add Use Item From Inventory to the Use Potion State. Assign a Category Item Action Set asset to Item Action Set. Map the potion Category to the Item Action Set containing its consume action, then select that action’s index, amount, and the collection name used by the working Ultimate Inventory System setup.
- Return to Idle after the Action finishes or fails.
- Run the graph with and without the potion and inspect the actual Inventory amount after each path.
Available Actions and Conditions
- Items: Add Item, Remove Item, Has Item With Definition, Has Item With Category, Compare Item Amount, Drop Item From Inventory, and Exchange Item Between Inventories.
- Currency: Add Currency, Remove Currency, Has Currency, and Compare Currency.
- Item use and UI: Use Item From Inventory, Use Item Object, Interact, and Open Close Panel.
- Persistence: Save, Load, and Delete Save.
Match every Item Definition and Category to the same Inventory Database used by the target Inventory. Match collection purpose, collection name, panel name, manager ID, slot index, and action index exactly.
Verify in Play Mode
- Run the potion State and confirm the Ultimate Inventory System Item Action produces its visible result.
- Confirm the runtime Inventory changes; an active State or successful Action alone is not proof.
- Remove the potion and confirm the Condition stays false and the fallback State remains active.
- Test a missing Currency Owner, Item User, Inventory Interactor, or panel on a copy of the object and confirm the graph does not hide the setup failure.
- When using Save, Load, or Delete Save, verify the actual file and restored Inventory state with the same save index.
Troubleshooting
| Symptom | Check | Fix |
|---|---|---|
| Ultimate Inventory System nodes are absent from the State Palette. | Check both products, the imported package, duplicates, and the first Console error. | Install both dependencies first, remove the older bridge, and reimport the current package. |
| An Item Condition returns an unexpected amount. | Check collection purpose, inheritance, and whether the node counts stacks or amounts. | Search the whole Inventory first, then add one restriction at a time. |
| Use Item finds the Item but fails. | Check Item User, Item Action Set, action index, collection name, and action requirements. | Run the same Item Action from Ultimate Inventory System first, then assign its Category Item Action Set and verify the potion Category mapping and mapped action index. |
| Save reports success but data is not restored. | Check save index, registered savers, and the stored file. | Verify the Ultimate Inventory System Save System directly; the Action only requests that operation. |