Ninja Inventory

A declarative Inventory and Equipment Framework built using G.A.S and integrated with the Asset Manager.

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

We're thrilled to introduce Ninja Inventory, our comprehensive Inventory and Equipment management system. Now, you can harness its robust capabilities in your own projects!


Crafted with meticulous attention to detail and a deep passion for game development, Ninja Inventory is designed to give you a solid foundation without limiting your creative vision or locking you into rigid templates.


Versatility at Its Core

Whether you're developing a straightforward weapon wheel or a complex RPG, Ninja Inventory is great tool for you. Inspired by the design philosophy of Project Lyra, this system is built to be data-driven and modular. Using the provided library of Fragments, you can create and customize items using these small, reusable building blocks—all managed through a dedicated definition data asset.


Smart Equipment Management

Bring your items to the game world with the integrated Equipment Module. It's tightly connected to the Asset Manager, ensuring that assets are loaded on-demand and unloaded when no longer needed. It's also well integrated with the Gameplay Ability System, so you can grant Attribute Sets, Effects, and Abilities as items are equipped, even using the Item Level as the effect/ability level, so they can easily scale!


User Interface Simplified

When it’s time to build your Inventory User Interface, Ninja Inventory provides a strong foundation with a variety of Common UI Widgets and UMG Viewmodels. It also supports many drag-and-drop operations: moving, merging, swapping and dropping items!


Focused and Streamlined

Ninja Inventory is purpose-built, focusing solely on Inventory and Equipment management, you won’t find unrelated systems like Locomotion or Interaction to clutter your development. However, integration with other systems is smooth and hassle-free, ensuring that Ninja Inventory enhances your game without getting in your way.


Be sure to check out our other plugins! Ninja Inventory easily integrates with Ninja Combat and Ninja Input!


Dive Deeper

Curious to learn more? Explore our detailed online documentation to get a comprehensive understanding of what Ninja Inventory offers. It includes a library of how-tos to guide you through this plugin's functionality!


Need a little extra help? Join our active Discord Support Server for guidance, suggestions, or feedback. Given the system’s depth, we strongly recommend some familiarity with Unreal Engine and G.A.S. If you want to work on advanced extensions, some C++ might be required.



Key Features
  • Create items with multiple available fragments like Stack, Container, Quality, and more.
  • All assets configured for equipment are set as soft references, loaded on-demand.
  • Includes its own Attribute Set, with inventory-related attributes: Encumbrance, Weight Limit, Backpack Size etc.
  • Item levels can be used as the level of Effects and Abilities applied from them.
  • Base Gameplay Abilities for managing Equipment States and Consuming items.
  • Fully replicated!
  • Multiple abstract widgets built with Common UI.
  • UMG Viewmodels expose all data from the Inventory and its items.
  • Native Support for drag-and-drop and reusable item tooltips.
  • Quickly visualize your inventory with the built-in Gameplay Debugger.
  • Very well documented, both in code and in its documentation site.



Roadmap
  • Save and Load.
  • Loot Management.
  • More Fragments!
  • Iris Replication.

Technical Details

Documentation and Support


Technical Details

  • A framework (not a template) to help you with your inventory and equipment system.
  • Integrated with the Asset Manager and the Gameplay Ability System.
  • Highly modular and extensible.
  • Fully written in C++, exposed to Blueprints whenever applicable.


Code Modules

  • NinjaInventory: Main functionality for Containers and Item management.
  • NinjaInventoryCore: Shared functionality for all modules.
  • NinjaInventoryEditor: Extensions for the editor.
  • NinjaInventoryEquipment: Main functionality for Equipment and State management.
  • NinjaInventoryGameplay: Fragments, Gameplay Attributes, Effects and Abilities.
  • NinjaInventoryUI: Widgets and UMG Viewmodels.


Additional Details

  • Number of C++ Classes: ~100
  • Network Replicated: (Yes/No): Yes