Client
.NET/Unity C++/Unreal/Cocos2d-x JavaScript/Cocos2d-js Godot 3 Godot 4 Java/Android Defold cURL REST Swift Dart/Flutter
Server
TypeScript Go Lua
Inventory
# The Inventory system manages player-owned items, providing control over listing, granting, consuming, and updating inventory. Learn more in the Inventory concept guide .
Overview
# Inventory enables your game to:
List available inventory items. Manage player-owned items. Grant or consume inventory items. Update item properties. Before You Start
# Ensure you have:
Unity project configured with Hiro SDK. Nakama system integrated (guide ). Working with Inventory
# Listing Available Items
# List all available items, optionally filtered by category:
1
2
3
4
5
request = InventoryListRequest ()
request . item_category = "weapons"
inventory_list = await hiro_client . inventory_list ( request )
print ( inventory_list )
Listing Player’s Inventory Items
# List all items currently owned by the player, optionally filtered by category:
1
2
3
4
5
request = InventoryListRequest ()
request . item_category = "weapons"
player_inventory = await hiro_client . inventory_list_inventory ( request )
print ( player_inventory )
Consuming Inventory Items
# Consume (use or remove) items from a player’s inventory:
1
2
3
4
5
6
7
request = InventoryConsumeRequest ()
request . items = {
"health_potion" : "1"
}
consume_rewards = await hiro_client . inventory_consume ( request )
print ( consume_rewards )
Granting Inventory Items
# Grant new items or remove items (using negative values) from a player’s inventory:
1
2
3
4
5
6
7
request = InventoryGrantRequest ()
request . items = {
"bronze_sword" : "1"
}
grant_rewards = await hiro_client . inventory_grant ( request )
print ( grant_rewards )
Updating Inventory Item Properties
# Update properties of items already owned by a player:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
request = InventoryUpdateItemsRequest ()
request . item_updates = {
"bronze_sword" : {
"string_properties" : {
"example_property" : "example_value"
},
"numeric_properties" : {
"numeric_properties" : 10
}
}
}
update_ack = await hiro_client . inventory_update ( request )
print ( update_ack )
Next Steps
#