Complete Inventory System Framework V1.1

Fatih Yilmazer - Code Plugins - Apr 16, 2024

A framework designed to help you rapidly develop inventory, equipment, interaction, crafting, vendor, stash, save and item loot systems with a highly customizable, top-quality UI for your project.

  • Supported Platforms
  • Supported Engine Versions
    5.3 - 5.4
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Trailer

Showcase Video (Watch the showcase video)

Demo (Windows-64) (Download demo and try it out!)

Youtube Playlist (Watch guide videos)

Template Project (Template project for the plugin to work properly, as it contains config and localization files.)

How to setup plugin

Discord (To connect with the developer and community, report bugs and access documentation.)


I strongly recommend downloading the demo and trying it out for yourself or at least watch the showcase video. 95% of this asset pack has been built with Blueprints. The save system and item primary data asset classes were created in C++. Also the pack contains many meshes, materials, ui related textures, visual effects and sound assets as well.




Inventory System
  • Primary data assets are used to store an item's static essential information, such as name, icon, etc.
  • A struct is utilized throughout this framework to represent item information. It holds a reference to the associated item data asset for its static essential item info and includes additional variables to represent its dynamic info, like the quantity of the item.

By using inventory component, you can control inventory features such as:

  • Column count
  • Max displayed inventory row count at the same time in the viewport
  • Global slot limit, per category slot limit, or infinite slot limit
  • Weight limit and the ability to block item looting when over the weight limit or limit character attributes (Walking speed)
  • Data table item import workflow or directly adding items to a specified array manually to initialize this inventory
  • Whether the component should generate empty slots to fill the grid or match the slot capacity
  • Infinite budget for the default currency when this component represents a vendor
  • Sound references to specify your custom inventory action UI sounds


You can split, stack, drop, loot, reallocate, transfer, inspect, use, mark, disassemble, etc., an item by using this component.



Equipment System

The Equipment component manages all equipment-related functionality. This component contains all the slots in an array, allowing you to specify the features of each slot using the elements of this array. You can configure the following features:

  • Whether a slot is enabled or not
  • Suitable item types for this slot
  • Slot capacity (which can also be infinite)
  • Suitable sub item types (For exp: Helmet or gauntlet)



Interaction System
  • Work with FPS and TPS cams.
  • Interaction sense and interaction outline post process effects to visualize interactable objects.
  • Precise interaction logic is used to determine whether the player is facing the front of the interactable actor or if both of them are facing each other.
  • Tap, double-tap and hold interaction inputs.
  • Obstacle detection.
  • Animated interaction and loot info widgets.
  • Can examine objects or inspect items.



Vendor System
  • The sell and buy price multipliers.
  • The item categories that are enabled or not for the player and vendor, also to block item transfer from the player's inventory for some of the item categories that are enabled for the vendor.
  • Vendor budget (can be infinite).



Stash System
  • Whether the stash is going to be a skeletal mesh (animated) or a static mesh.
  • The item categories that are enabled or not for the player and stash.
  • Opening and closing sounds.



Crafting System
  • To craft an item, you must have the item's blueprint in your inventory, all the items in the required amounts as listed in its recipe and enough coins to cover its crafting cost.
  • The crafting module can be configured to enable specific item categories, allowing for a tailored crafting experience. For instance, you can create a campfire that is only able to craft food items or a crafting bench designed for crafting resources, armors, and weapons.



Flexible Widget Design Workflow
  • Base widget classes feature an empty widget hierarchy; they contain no visual designs. All design-related elements are created within the templates, necessitating the passage of essential variables to convey the template widget hierarchy elements' references to their base class. By utilizing the necessary base logic written in these widget base classes, we can easily create numerous different-looking custom widgets.



Gamepad Navigation Support
  • Full Xbox gamepad support encapsulates continuous navigation through the focusable widgets. Additionally, by using a gamepad, players are capable of performing every action that can be done with a mouse and keyboard.
  • On-screen keyboard support.



Loot Chests - Item Containers
  • Items can be placed manually or generated through a random loot generation system by defining its rules in a data asset instance within the editor.
  • Item containers can be destroyed after being looted with a disintegration effect.
  • Loot chests contain a key system where you can define which item the player needs to open the chest, along with some other useful configuration variables.



Openable Modules (Doors, Drawers, Lockers etc.)
  • Contains a key system similar to what the loot chests have.
  • Items can be placed in drawers or on lockers.
  • A door can be created that opens both rotationally and linearly (left-right or up-down).



Save System
  • You can specify a save slot limit, mark a save game file as manual or auto-save, and the saved local time will be written in the save game file.
  • Additionally, it features a main menu and popup system to control the save and load system.



Localization
  • All the text in the widget has been referenced by a string table entry. I've localized all the string tables for Japanese and Spanish cultures.
  • This pack contains a font asset that encapsulates most of the Unicode character ranges.


I created some of the assets myself, however, I took advantage of the beautiful public domain (CC0) assets to achieve top-quality looking environments. These sources are listed here.

Technical Details

Features:

  • Inventory System
  • Equipment System
  • Interaction System (FPS&TPS)
  • Item Inspection System
  • Vendor System
  • Stash System
  • Crafting System
  • Flexible Widget Design Workflow
  • Gamepad Navigation Support
  • Item Loot and Drop System
  • Loot Chests
  • Item Containers
  • Random Loot Generation System
  • Openable Modules (Doors, Drawers, Lockers etc.)
  • Object Examine System
  • Save System
  • Localization and On-Screen Keyboard Support
  • Main Menu
  • Animated Interaction and Loot Info Widgets


Code Modules:

  •  CISFramework, Runtime


Blueprints: 46

Widgets: 124

C++ Classes: 23

Meshes: 231

Materials : 267

Textures: 1028

Sound Waves: 31

Network Replicated: No

Supported Development Platforms: All

Supported Target Build Platforms: Windows 64-bit

Support

Please join our Discord server and complete the verification process by following the verification instructions. Upon verifying your purchase, you will gain access to documentation, guide videos, support forums where you can address bug issues and discuss topics related to asset usage with other developers to help each other. If you encounter any problems during this verification process, you can contact me by sending a message through Discord or email ([email protected]).

Additional Notes: This pack is comprehensive and might be challenging for beginners to fully understand.