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.
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, ...)
General Links
- Github repository
- Infographics BA Inventory - Processes
- Infographics BA Inventory - Status
- Video Playlist
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, ...)
Links
- Github repository
- Infographics BA Inventory - Processes
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
Links
- Github repository
- Infographics BA Inventory - Processes
- Google Sheet used in video
- DnD 5e Database
- GSheet extension to import JSON
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
Links
- Github repository
- Infographics BA Inventory - Processes
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
Links
- Github repository
- Infographics BA Inventory - Processes
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