top of page

Inventory system

ROLE

C++ System Programmer

DESCRIPTION

This is a project I worked on independently as a self-study during my third year at BUas. I developed a fully customizable and user-friendly inventory system featuring a functional UI, drag-and-drop capabilities, item pickup, inventory weight management, and slot allocation. The entire project was created in C++ using Unreal Engine 5.

YEAR

2023

FOCUS

Game Programming

SKILLS

C++, Unreal Engine

DURATION

8 days

FUNCTIONALITY

This entire inventory system was developed by me as a technical project with a primary focus on functionality and performance. Consequently, I used placeholder assets available in the Unreal Marketplace or within Unreal Engine itself. The system features an easily updateable data table for different types of items, an inventory UI with drag-and-drop functionality, and constraints on spaces and weight that can be adjusted according to user preferences.

Key features include:

  • Easily Updateable Data Table: Allows for various item types with customizable attributes.

  • Inventory UI: Includes drag-and-drop functionality, displaying occupied and unoccupied slots, weight used, and the number of slots occupied.

  • Hover-Over Details: When hovering over an item in the inventory, detailed information about that item is displayed.

  • Pickup UI Prompt: When the player points the camera at a pickup object, a UI prompt appears, indicating the object’s name, the action needed to pick it up, and the quantity to be picked up.

This system is highly customizable within the engine, making it an excellent tool for designers. Through this project, I gained extensive knowledge about Unreal UI and UI design in general. This experience was invaluable, as UI is a crucial component of any game. I particularly enjoyed the challenge of implementing everything in C++ and learning about UI functionality.

In the future, I plan to enhance this project by adding features such as chests and other types of inventories, ultimately turning it into an Unreal plugin for easy use.

bottom of page