Setup Guide

Getting set up and started using this inventory system is very easy and typically only takes 1-3 minutes to complete. This page will cover the steps needed to get the asset installed and running in your project. We’ll then go over the different configuration variables available right out of the box. After completing these steps you will be able to use nearly all of what this asset has to offer.

This quick setup guide is here to help you hit the ground running with Version 4 of my Unreal Engine inventory system. You will find additional help and setup instructions for each of the major systems in their own chapters.

Quick Setup Guide Video

Quick Setup Guide
Quick Setup Guide — 5:11

Installing & Testing the Inventory System

  1. Using the Epic Launcher or the Fab button on the content browser add my Inventory System asset to your project. When it is finished you should see the DynomegaInventoryV4 folder in your Content folder. If it is named something else then you installed an older version of this asset and this setup guide is not for you. Your UE project must be at least version 5.4 to use version 4 of my Inventory System.
  2. Open your Player Controller blueprint. If you do not have a player controller you will need to make one and then make sure you link it in the Game Mode you are using for your Level.
    [Tell me how to make one]
  3. Inside the Player Controller blueprint locate the Components tab.
    [I don’t see the Components tab]
  4. Next click the Add button on the Components tab. Type inventory system into the search. Then select to add the AC Inventory System component. This is the main component, and is used to set up and configure all the other components. Throughout this documentation I will refer to this component as AC_InventorySystem.
  5. That is it, the Inventory System is now installed! You can test and confirm by pressing play. You should see the hotbar at the bottom of the screen, and if you press the I key it should open the player’s inventory window.

Most common reasons installation does not work

These are the most common reasons it does not work after following the steps above:

  • When you press play if you don't see the hotbar at the bottom, and the player inventory doesn't open when you press [ I ], you may have attached the AC Inventory System component to your Player Character and not the Player Controller. A player controller is required, and I’ve provided a link above to walk you through creating and linking one if you need assistance.
  • You may have attached the wrong inventory component to the Player Controller. There are several components with the keyword “inventory” in the name. Make sure you add the one with the label AC Inventory System. If you did add one of the others make sure to remove it.
  • The player controller you added the component to might not be the one being used by the Game Mode for the Level you are playing.
    [Tell me how to check it Dyno!]
  • If the hotbar shows but when you press the [ I ] key the Inventory doesn’t show. This is most likely because you are consuming the [ I ] input somewhere else in your project. View the chapter on Input & Key Bindings to see how it is handled in this system and how you can change the key bindings.

If you are still having trouble please contact me. I do offer technical support for verified owners of the Inventory System as well as my other assets. For issues with setup make sure to provide any additional details (if needed), as well as include screenshots of your Player Controller, and the Game Mode for your Level.

How to configure the Inventory System

We configure our Inventory System for our players through the details panel of the AC_InventorySystem component we added to our Player Controller. Open up your player controller and select the component. Then scroll down until you see the “Configure” category. Each sub-category relates to a different part of the Inventory System.

There are a lot of options here, go ahead and scan them over real quick but don’t try to worry about setting each and every one right now. Instead do it as you go through each of the different systems. You will have a better understanding of what they are and how they work as you go through the different chapters in this documentation. Those pages will reference a lot of these configurations and will also remind you where to change it.

These are just the settings related to the player. For everything else you will be setting those directly to the components on the actor. We will go over these settings in each of the relevant chapters.

Setup & Saving

View the Save System chapter to learn more about how saving works in this system.

Auto Setup System on Start? (default: true) - When true will automatically run the setupServer method on begin play. You would only ever need to set this false if you need to make dynamic changes to this component before it runs setup. When you set this to false it is up to you to call setupServer when you are ready to initialize the component. For multiplayer it is important that you run this method from the server.
Auto Setup Storage on Start? (default: true) - If true will run SetupStorage on each storage component on the player at the start. If set to false you need to run setupStorage on each component, or call the setupAllStorageComponents on this component when you are ready to run the initialization setup.
Auto Load Storage on Setup? (default: true) - If true will auto load saved data for the storage components on the player at the start. If set to false you need to run loadStorage on each component, or call the loadAllStorageComponents on this component when you are ready to load.
Auto Save Storage on Change? (default: true) - If true will save storage components whenever a change occurs. If set to false you will need to call saveStorage on the components, or call saveAllStorageComponents on this component when you are ready to save.
Global Save Game Prefix (default: DISv4/) - Prefix all save game slot names with this value. You can use this if your game has multiple slots by manually initializing the system after setting this value. This value is relayed into the game state component where everything in the world can access it. This component gets added by the first player controller who connects to the map and does not detect the component.
Dynamic Data Ping Rate (default: 3.0) - The global rate at which our dynamic data ping occurs. This value is passed through to the global game state helper component on setup. Changing this at runtime after setup will do nothing, you will need to change it on the game state component instead.

Inventory

View the Inventory chapter to learn more about the player's inventory.

Inventory Slots (default: 35) - The number of slots the player starts with for their inventory.
Inventory Slot Count Buyable (default: 7) - Let the player unlock up to this many buyable slots in their inventory.
Inventory Slot Count Buyable Requirements - The costs the player must pay to unlock additional buyable slots. Learn more about the values of this structure on the Buyable Slots page.
Inventory Starter Items (default: none) - The items we would like the player to start with in their inventory. View the Starter Items chapter to learn more about these.
Inventory Starter Items Loot Table (default: none) - Optionally use a loot table we would like to use to fill starter items in the player inventory. This is a reference to the row name of the loot table in the DT_LootTables data table. View the Loot chapter to learn more about loot tables.
Inventory Starter Items Loot Table Roll Type (default: Roll Once) - If we are using a loot table to fill the starter items for the inventory we want it to use this type of roll. You can learn about what the different values mean in the Loot chapter.
Inventory Special Slots (default: none) - Special slots defined for our player's inventory. Specialty slots let us define criteria for what can be equipped in specific slots. You can learn all about these in the Specialty Slots chapter.
Inventory Overflow Policy (default: Drop on Ground) - When adding items, what should we do if the player’s inventory is already full, and the request still made it past validation? View the Overflow chapter to learn more about overflow policies.
This is NOT for item pickups, this is for everything else! See the Interact section of this config to define the order used for picking up items.
InventoryWindow/ Inventory Window Title (default: My Inventory) - The window title for our player's inventory.
InventoryWindow/ Inventory Window Icon (default: none) - The icon shown next to our title for our player's inventory. Empty by default.
InventoryWindow/ Inventory Window Open Sound (default: none) - The override sound to play when the inventory is opened. Empty by default.
InventoryWindow/ Inventory Window Close Sound (default: none) - The override sound to play when the inventory is closed. Empty by default.

Hotbar

View the Hotbar chapter to learn more about the player's hotbar.

Enable Hotbar? (default: true) - When enabled the hotbar will be initialized for the player. View the Hotbar chapter to learn all about it.
Show Keybindings On Hotbar? (default: true) - When true the keybindings for each hotbar slot will be shown on the slot.
Left Click Select On Hotbar? (default: true) - When true left clicking the mouse on a hotbar slot will toggle selecting the hotbar slot (good for top down games).
Hotbar Slots (default: 10) - The number of slots the player starts with for their hotbar.
Hotbar Slot Count Buyable (default: 0) - Let the player unlock up to this many buyable slots on their hotbar.
Hotbar Slot Count Buyable Requirements - The costs the player must pay to unlock additional buyable slots. Learn more about the values of this structure on the Buyable Slots page.
Hotbar Starter Items (default: none) - The items we would like the player to start with on their hotbar. View the Starter Items chapter to learn more about these.
Hotbar Special Slots (default: none) - Special slots defined for our player's hotbar. Specialty slots let us define criteria for what can be equipped in specific slots. You can learn all about these in the Specialty Slots chapter.
Hotbar Overflow Policy (default: Drop on Ground) - When adding items, what should we do if the player’s hotbar is already full, and the request still made it past validation? You can Drop the items on the ground, destroy them, or send them to a different player storage component. For example, when a consumable spoils and spawn a spoiled item, and there is no room for the new item, what should we do with the extra items? View the Overflow chapter to learn more about overflow policies.
This is NOT for item pickups, this is for everything else! See the Interact section of this config to define the order used for picking up items.

The Hotbar variables related to Equipment can be found in the Equipment section (lower on this page) of the configuration.

Bank

View the Banker chapter to learn more about the player's bank.

Enable Bank? (default: true) - When enabled banking will be enabled for the player. View the Banker chapter to learn all about it.
Bank Slots (default: 70) - The default number of slots in our bank.
Bank Slot Count Buyable (default: 0) - Let the player unlock up to this many buyable slots in their bank.
Bank Slot Count Buyable Requirements - The costs the player must pay to unlock additional buyable slots in the bank. Learn more about the values of this structure on the Buyable Slots page.
Bank Starter Items (default: none) - The items we would like the player to start with in their bank. View the Starter Items chapter to learn more about these.
Bank Special Slots (default: none) - Special slots defined for our player's bank. Specialty slots let us define criteria for what can be equipped in specific slots. You can learn all about these in the Specialty Slots chapter.
Bank Overflow Policy (default: Drop on Ground) - When adding items, what should we do if the player’s bank is already full, and the request still made it past validation?View the Overflow chapter to learn more about overflow policies.
This is NOT for item pickups, this is for everything else! See the Interact section of this config to define the order used for picking up items.
BankWindow/ Bank Window Title (default: My Bank) - The default window title for our player's bank. Can be overridden by the actor (See Banker chapter for details).
BankWindow/ Bank Window Icon (default: none) - The icon shown next to our title for our player's bank. Empty by default. Can be overridden by the actor (See Banker chapter for details).
BankWindow/ Bank Window Open Sound (default: none) - The override sound to play when the bank window is opened. Empty by default. Can be overridden by the actor (See Banker chapter for details).
BankWindow/ Bank Window Close Sound (default: none) - The override sound to play when the bank window is closed. Empty by default. Can be overridden by the actor (See Banker chapter for details).

Equipment

View the Equipment chapter to learn more about the player's equipment.

Enable Equipment? (default: true) - When enabled will add the equipment system to the pawn our player possesses.
Allow Equip From Hotbar? (default: true) - When enabled will allow equipment to be equipped from the hotbar.
Allow Equip From Hotbar Only Slots (default: none) - When empty all equipment slots can equip through the hotbar. When not empty only equipment that matches the equipment slots found in this array can be equipped through the hotbar.
Equipment Slots Profile (default: player) - A reference to the row name in our DT_SlotsProfiles, used to easily define and reuse specialty slots for equipment. You can learn what this is and how to set one in the Equipment chapter.
Equipment Default Stance (default: Unarmed) - The default equipment stance of our pawn, when no equipment is overriding it. You can learn about how this is used, and how to change and add to it in the Equipment Stance chapter.
Enable Equipment Window Character Preview (default: true) - Show the render of our current pawn within the equipment window.
Equipment Starter Items (default: none) - The items we would like the player to start with in their equipment. View the Starter Items chapter to learn more about these.
Equipment Overflow Policy (default: Drop on Ground) - When adding items, what should we do if the player’s equipment is already full, and the request still made it past validation? View the Overflow chapter to learn more about overflow policies.
This is NOT for item pickups, this is for everything else! See the Interact section of this config to define the order used for picking up items.
EquipmentWindow/ Equipment Window Title (default: My Equipment) - The window title for our player's equipment.
EquipmentWindow/ Equipment Window Icon (default: T_WindowIcon_Equipment) - The icon shown next to our title for our player's equipment. Empty by default.
EquipmentWindow/ Equipment Window Open Sound (default: none) - The override sound to play when the equipment window is opened. Empty by default.
EquipmentWindow/ Equipment Window Close Sound (default: none) - The override sound to play when the equipment window is closed. Empty by default.

Crafting

View the Crafting chapter to learn more about the crafting system.

Enable Crafting? (default: true) - When true the crafting system will be enabled.
Enable Crafting From Player? (default: true) - When true the player can craft from within their inventory.
Player Crafting Contexts (default: DA_CC_Player) - The recipe contexts to associate with the player for crafting. When multiple contexts are used the crafting window's recipe list will show headers above each context, then the list of recipes in that context.
Crafting Inputs (default: Hotbar, Inventory) - For player crafting the input will pull from the targets in this array. Once one is empty the next will be used.
Crafting Outputs (default: Inventory, Hotbar) - For player crafting the output will fill in to the targets in this array. Once one is full the next will be used.
Hide Locked Recipes? (default: false) - Disabled by default, when enabled will hide locked recipes until they are unlocked.
CraftingWindow/ Player Crafting Window Title (default: My Craftable Recipes) - The window title for our player's crafting window.
CraftingWindow/ Player Crafting Window Icon (default: T_WindowIcon_Crafting - The icon shown next to our title for our player's crafting window. Empty by default.
CraftingWindow/ Player Crafting Window Open Sound (default: none) - The override sound to play when the player's crafting window is opened. Empty by default.
CraftingWindow/ Player Crafting Window Close Sound (default: none) - The override sound to play when the player's crafting window is closed. Empty by default.

Currency

View the Currency chapter to learn more about the currency system.

Enable Currency? (default: true) - When enabled the player will be given the currency component.
Default Tracked Currency (default: coin_gold) - The default currency shown on the inventory widget.
Show All Currencies? (default: false) - False by default, but when true will show all currencies on the player's currency window, even currencies they have not received. When false (default) only received currencies will show.
CurrencyWindow/ Currency Window Title (default: My Stash) - The window title for our player's currency window.
CurrencyWindow/ Currency Window Icon (default: T_WindowIcon_CoinPouch) - The icon shown next to our title for our player's currency window. Empty by default.
CurrencyWindow/ Currency Window Open Sound (default: none) - The override sound to play when the player's currency window is opened. Empty by default.
CurrencyWindow/ Currency Window Close Sound (default: none) - The override sound to play when the player's currency window is closed. Empty by default.

Interaction

View the Interaction chapter to learn more about the interaction system.

Enable Interaction System? (default: true) - When true the interaction system will be enabled for this player.
Interaction Show Debug? (default: false) - Show the debug for our interaction system.
Interaction Radius (default: 150) - The radius of our sphere overlap.
Allow Multiple Pickup? (default: true) - Do we allow our player to use another interaction key to pickup multiple items at once?
Interaction Scan Speed Seconds (default: 1.0) - The frequency that we will scan for interactables.
Item Pickup Add To Order (default: Equipment, Inventory, Hotbar) - The order of which storage components to use when picking up items. If a storage component is unable to hold the item the next storage component will be used.
Interaction Object Types (default: WorldStatic, WorldDynamic, Pawn, Vehicle) - The object types used for scanning for interactables.

UI

View the UIs chapter to learn more about some of the primary UIs & widgets.

Can Drop Items? (default: true) - If true the player will be able to drop items into the world. You can also change this at runtime.
Can Toggle Mouse? (default: true) - If true the system will control toggling the mouse and input when windows are opened and closed.
Can Drag All Windows? (default: true) - When true the player can drag all windows. When false you can explicitly allow them in the window configuration (when creating windows).
Show Context Menu On Right Click? (default: false) - Force our context menu to show when we right click our mouse on an item. By default the context menu is used just for the gamepad.
Show Shortcuts On Tooltip? (default: true) - Should we show shortcuts related to the item on the tooltip?
Shake Items On Change? (default: true) - Shake the items when something about them changes. This can be triggered by item, quantity or data changes.
Target Max Distance (default: 400) - If a target window (like a container, bank or workstation) is opened from an actor, this is the max distance from that actor the player can be, before the system will automatically close the target window.

Player Loot

View the Loot chapter to learn more about the loot system.

Loot Table / Enable Player Loot? (default: false) - When true will add a loot component to the player, which can be used to drop player items.
Loot Table / Player Loot Cooldown (default: 0) - The cooldown for dropping player loot.
Loot Table / Player Loot Container Class (default: BP_Interactable_LootContainer) - The container class to use when dropping the player's loot.
Loot Table / Player Loot Container Destroy Empty (default: true) - Should we destroy the loot container when it is empty?
Loot Table / Player Loot TableRolls (default: none) - When looting the player you can spawn loot from a loot table, using the specified roll type. The Key is the Loot Table row name from the DT_LootTables data table. The Value is the Roll Type.
Loot Table / Player Loot Table Items Add To (default: Spawn Items in Container) - When looting from a loot table on the player this is how the items should be handled.
Hand Picked Items / Player Loot These Items (default: none) - Hand pick items that spawn when the player is looted.
Hand Picked Items / Player Loot These Items To (default: Spawn Items in Container) - How we should spawn the hand picked items when looted.
Player Storages / Player Loot These Storages (default: none) - The player storage components, and how to loot them, when the player loot occurs.

Transfer

Transfer All Items Cooldown (default: 3.0) - The cool down (amount of time) before accepting input from our transfer all items event after it is pressed.
Hide Windows On Transfer All? (default: true) - Hide all windows when we activate our trigger our transfer all items event (good for quick looting flow).

What to do next after completing this set up

To continue your journey, here is what I recommend you learn next:

  • How to Create Items: Learn how to create a new item from scratch. The video on this page will show you how to make Stone.
  • Equipment Pawn Setup: If you are using the included equipment system this page will walk you through setting up your pawn to support equipping the equipment.
  • How to Create Equipment: Learn how to create a new piece of equipment from scratch. The video on this page will show you how to make the Meat Maul one handed melee weapon.
  • How to Create Crafting Recipes: Learn how to create a new recipe from scratch. The video on this page will show you how to make a new player crafting recipe, the Usable Expansion Token.
  • Working in Blueprint: If you are new to working with blueprint and actor components check out this page to learn how to use this system from blueprint. You will learn how to add and remove items from the player inventory. The video on this page will walk you through most of the functions on this page by showing you how to create an item converter actor using the button base included with the demo world.

Also, there is a lot of demo content to go through, if you haven’t done so already you should take a few minutes to check it out. Navigate to the Demo/Maps/ folder and open the LVL_InventorySystemV4_DemoWorld level. This level showcases how the different systems and items work. There are also buttons in each section that will link you right to their documentation page so you can learn more about each.

If you are working on a multiplayer game you may want to take a look over the Multiplayer chapter to get a better understanding of how unique player identification works in this system.

Lyra Compatibility and Support Disclaimer

This inventory system is a 100% Blueprint implementation designed for beginners to use, study, and extend. It is built to work with the default Unreal Engine project templates and is not directly based on any part of the Lyra Starter Game.

The system can be used alongside Lyra, but it does not integrate with or rely on Lyra-specific frameworks or gameplay systems.

To use this asset in a Lyra-based project, you should already be comfortable with Lyra as well as accessing and working with the Player Controller and Pawn from Blueprints. You will also need to be able to correctly attach and configure the components and interfaces referenced throughout this documentation.

Because this asset is entirely Blueprint-based and Lyra is largely implemented in C++, I cannot provide Lyra-specific technical support (such as debugging or extending Lyra’s C++ systems). Support is limited to this inventory system and its Blueprint implementation in the default templates.