Unreal integration
After the user purchases a Virtual Item, it is automatically added to the user's Inventory during the transaction process. It is possible also to add a virtual item to the user's inventory without going through the purchase process for non-NFT items.
Add to inventory can be use to add regular virtual items into the player inventory. NFT's cannot be added to the inventory with this functionality.
Integration Guide
Unity integration
After the user purchases a Virtual Item, it is automatically added to the user's Inventory during the transaction process. It is possible also to add a virtual item to the user's inventory without going through the purchase process for non-NFT items.
The following method gets all inventory items for the currently logged in player.
Add to inventory can be use to add regular virtual items into the player inventory. NFT's cannot be added to the inventory with this function.
using System.Collections.Generic;
using UnityEngine;
using RGN.Modules.Inventory;
public class InventoryExamples : MonoBehaviour
{
private async void GetUserInventory()
{
List<InventoryItemData> inventory = await InventoryModule.I.GetWithVirtualItemsDataForCurrentAppAsync();
foreach (var inventoryItem in inventory)
{
Debug.Log($"Virtual item id : {inventoryItem.virtualItemId}");
Debug.Log($"Virtual item name : {inventoryItem.virtualItem.name}");
}
}
}using UnityEngine;
using RGN.Modules.Inventory;
public class InventoryExamples : MonoBehaviour
{
private async void AddToUserInventory()
{
string virtualItemId = "virtualItemToAdd";
await InventoryModule.I.AddToInventoryAsync(virtualItemId);
}
}using UnityEngine;
using RGN.Modules.Inventory;
public struct MyCustomProperties
{
public int BonusHealth;
public float DamageMultiplier;
}
public class InventoryExamples : MonoBehaviour
{
private async void SetPropertiesInInventory()
{
string inventoryItemId = "inventoryItemId";
MyCustomProperties customProperties = new MyCustomProperties
{
BonusHealth = 50,
DamageMultiplier = 1.5f
};
string jsonProperties = JsonUtility.ToJson(customProperties);
await InventoryModule.I.SetPropertiesAsync(inventoryItemId, jsonProperties);
}
}using UnityEngine;
using RGN.Modules.Inventory;
public struct MyCustomProperties
{
public int BonusHealth;
public float DamageMultiplier;
}
public class InventoryExamples : MonoBehaviour
{
private async void GetPropertiesInInventory()
{
string inventoryItemId = "inventoryItemId";
string jsonProperties = await InventoryModule.I.GetPropertiesAsync(inventoryItemId);
MyCustomProperties customProperties = JsonUtility.FromJson<MyCustomProperties>(jsonProperties);
Debug.Log($"Bonus health : {customProperties.BonusHealth} \n" +
$"Damage multiplier : {customProperties.DamageMultiplier}");
}
}