Fatih Yilmazer - Complete Inventory System Framework 2.0

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

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

Discord (To connect with the developer and community, report bugs and access documentation.)
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, steam online services and some base classes of the core systems were created in C++. Also the pack contains many meshes, materials, ui related textures, visual effects and sound assets as well.

Easy Implementation

  • By using character and controller interfaces, any custom system can easily implement this framework.

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.

  • You can split, stack, drop, loot, reallocate, transfer, inspect, use, mark, disassemble, consume, etc., an 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 in encumbered state (Walking speed etc.)

  • 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

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).

  • Vendor Showcases allow players to purchase items directly from the vendor's showcase, and they are directly bound to their associated vendor.

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 - closing anims and 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).



Complete Main Menu

  • Server Browser, Server Creation UI, Save/Load Widget, and Settings Widget with Controls, Gameplay, Graphics, Display, and Audio options.




Steam Online Services

  • Session creation

  • Session search

  • Session destroy

  • Runtime session updates

  • Session invite and join via Steam Friends Overlay

  • Achievement and stats support




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.