Ir al contenido

Armor System

4
  • Add new Slots in ArmorBar
  • Adding new ArmorInstance
  • Is it compatible with metahumans?
  • How is the armor system made?

Burn System

3
  • Adding new fuel item
  • Adding New Cookable Item
  • How was the Burn System made?

Combat System

2
  • New Weapon Melee 2.0
  • Combo System

Craft System

2
  • Adding New Crafteable ItemDefinition
  • Craft – How does it work?

Gameplay Ability System

2
  • Ways to Spawn Projectiles
  • GAS – How does it work?

Inventory System

2
  • Inventory – How is it developed?
  • How can I use this inventory to another actor?

Interactable System

2
  • Custom Interactable
  • Interactable System – How does it work?

Loot System

2
  • Loot System – How does it work?
  • Loot Actors

Respawn System

2
  • Respawn System – How does it work?
  • ¿Bed?

Team System

2
  • Team How does it work?
  • Invite Team

Weapon System

5
  • Fire Weapons
  • Bow System
  • Melee throwable weapons
  • Wand Weapon
  • Shield / Cover Items

Map System

5
  • Minimap – How to setup?
  • POI System
  • Make a fast MapCapture
  • Big Map – How to setup?
  • What is Big Map?

Node System

1
  • How was the Node System made?

Building System

1
  • How Work Building System?

Enemies System

4
  • Enemies Examples
  • GameplayAbility Death Bot
  • Simple Health Component – Bots Events
  • Simple Controller – Without PlayerState

Locomotion

1
  • Game animation sample

Spawner System

3
  • Actor Spawner Component
  • NPC Spawner Component
  • Spawner Component
  • Home
  • Lyra Inventory Plugin
  • Inventory System
  • Inventory – How is it developed?
View Categories

1 min read

Developed in C++

Following the same logic as how EPIC expects us to work on the project. (Or at least our interpretation of it.)

 

Which is based on using a component to manage all the inputs and outputs of the inventory. This “InventoryManagerComponent” can be assigned to any actor, so that it has an inventory, with all its functionalities.

The InventoryManagerComponent manages the items, in two forms:

A) As an Instance (ItemInstance),

B) As an Abstract Definition (ItemDefinition).

 

The code provides functions so that you can manipulate both.

When is ItemDefinition used and when is Instance?

We remember that conceptually, an ItemDefinition is an Abstract class, with which it can never be instantiated, it serves as a reference or guide.

Instead, the Instance, yes, is running and replicated.

 

Let’s assume an example, the reward of a chest:

When we decide which items the chest is going to deliver, we do it from the editor, and since we are in “edition” we cannot “instantiate” items, therefore, we must use the definition.

What this method does is from an “ItemDefinition” it creates an instance of the definition and assigns it to the Inventory that we pass as a parameter. Also, it returns the ItemInstance that was created.

 

Therefore, we can affirm that the difference between an ItemDefinition and an ItemInstance, lies in whether or not the item is running.

Finally, let’s talk about the composition of the Items

If I want to add, for example to my item, a “Niagara” component, I must use fragments.

 

The fragments are small parts that give attributes to the item. Therefore, an item is made up of fragments.

Using a “TREE” approach. Being the item the Root and the “leaves” the fragments that compose it.

 

 

The advantage of using this scheme is the ease and optimization of the code.

Since each item has only the fragments that we assign to it.

If I create an item that doesn’t need a StaticMesh directly, I don’t add the fragment to it. And I end up saving a lot of resources.

As if this were not enough, since the Items are executed on the server, and are replicated, using this fragment scheme only leads us to have “replicated” the instance of it. Saving a lot of resources. Since the fragments are not altered in execution, and therefore, it is not necessary that they be replicated.

The result is excellent Network performance.

What are your Feelings
Updated on 13 septiembre, 2023
How can I use this inventory to another actor?

Powered by BetterDocs

HIPERNOVA © 2025 All rights reserved​