Skip to main content

Multiplayer Inventory

Development of a free inventory plugin that features multi player, multi user and multi access rights. It will also focus and showcase data driven item generation.

Multiplayer Inventory via BP

Principles

Principles for this Inventory Plugin:

Security

  • All Item and Inventory processes are managed on Authority only
  • Remote client only receives UI related information

Scalability

  • All components are not directly coupled but message based
  • High load data access is based on cached (Data Registries) or in-memory storage

Owner - Inventory Relations

  • Owner can have multiple inventories - permanent (equipment) or temporary (chest)
  • Owner can have different access rights per inventory - Add Only, Full Access, Read Only, ...
  • Inventory can have multiple owner with different access levels

Items

  • Items are always data driven via databases, data registries or data tables
  • Items are composed of fragments detailing different aspects (name, weight, durability, ...)

BA Inventory - 01

This is the start of a new cycle, creating a multi user inventory for Unreal. This is not Unreal Lyra dependend, but can be used in every Unreal project.

Principles for this Inventory Plugin:

Security

  • All Item and Inventory processes are managed on Authority only
  • Remote client only receives UI related information

Scalability

  • All components are not directly coupled but message based
  • High load data access is based on cached (Data Registries) or in-memory storage

Owner - Inventory Relations

  • Owner can have multiple inventories - permanent (equipment) or temporary (chest)
  • Owner can have different access rights per inventory - Add Only, Full Access, Read Only, ...
  • Inventory can have multiple owner with different access levels

Items

  • Items are always data driven via databases, data registries or data tables
  • Items are composed of fragments detailing different aspects (name, weight, durability, ...)

Video

BA Inventory - part 02

We create a generally usable, multi-user, multi-right and multi owner inventory as BluePrint plugin.

This part covers

  • data driven ingest of Dungeons&Dragons weapons
  • anatomy of the BP_Item class and how to create and use fragments
  • ingest of new items into the main item map using interface access to object data providers

Disclaimer for items used This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) by Wizards of the Coast LLC and available at https://dnd.wizards.com/resources/systems-reference-document.

The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License available at https://creativecommons.org/licenses/by/4.0/

Video

BA Inventory - part 03

We analyze components of a in game inventory and build a first prototype.

We use Unreal Common UI Plugin and explain the following elements: Unreal Common UI Elemente

  • Common Widget Carousel
  • Common Tile View
  • Common Border Style
  • Common Text Style

Video

BA Inventory - part 04

Unreal Common UI Elemente

  • Common Uniform Grid Panel
  • Common Button Base
  • Communication between Widgets and Server
  • ActorComponent as bridge for Server-Client communication

Video

Unreal Plugin 'BA Replication Array'

Here a free Multiplayer Unreal Plugin 'BA Replication Array': Exposing FFastArraySerializer as Blueprint version. FFastArraySerializer is a Unreal struct specialized at replication vast arrays in multiplayer environments.

In this video we look at a Unreal Plugin implementation of that array for Blueprint:

  • How to get the example project and the plugin code from Github
  • What Blueprint Nodes and Events the plugin offers
  • How to build the demoed mini game with that plugin

Video

German version