Предметы

Предметы

Определяйте предметы один раз и управляйте инвентарём каждого игрока.

Начать бесплатно

Предметы

Определяйте предметы один раз и управляйте инвентарём каждого игрока.

SDK и REST

Интегрируйте Unity, Godot или Unreal либо используйте интерфейс REST.

Панель проекта

Настраивайте функции и управляйте текущими данными в своём проекте.

Быстрая интеграция

Быстрая интеграция

Предметы
Видео скоро появится

Уникальное снаряжение со свойствами, правилами каталога и инвентарём выбранного проекта.

Быстрая интеграция
Unity (C#)
using UnityEngine;
using PM.horizOn.Cloud.Manager;

public sealed class ItemsDemo : MonoBehaviour
{
    // Initialize/connect and restore the existing player in the Quickstart first.
    public async void ReadInventory()
    {
        var user = UserManager.Instance.CurrentUser;
        if (user == null || !user.IsValid()) return;
        var result = await ItemsManager.Instance.GetInventory(user.UserId);
        if (!result.IsSuccess) { Debug.LogWarning(result.ErrorCode); return; }
        foreach (var item in result.Data.instances)
            Debug.Log($"{item.instanceId}: {item.itemKey}");
        // Keep result.Data.revision for a separately reviewed mutation.
    }

    // Wire a separate explicit action; no automatic catalog traversal or poll.
    public async void ReadCatalogPage()
    {
        var user = UserManager.Instance.CurrentUser;
        if (user == null || !user.IsValid()) return;
        var result = await ItemsManager.Instance.GetCatalog(user.UserId, limit: 1);
        if (!result.IsSuccess) { Debug.LogWarning(result.ErrorCode); return; }
        Debug.Log($"Catalog revision: {result.Data.revision}");
        // Explicit Next keeps result.Data.revision and nextAfterKey unchanged.
    }
}
// SDK ItemsExample/ItemsSampleStore persist original instanceId/body/revision before writes.
// Keep the original Player Values operationId for purchase recovery.
// The initial success may include item references; retained replay may return empty applied/items.
// Read the current inventory separately. Never reconstruct earlier item references.
// A failed refresh never authorizes a replacement purchase or a local item grant.

Этот пример SDK использует develop. Проверьте наличие нужных API в установленном SDK. см. краткое руководство

Часто задаваемые вопросы

Часто задаваемые вопросы

Готовы к интеграции?

Начните работу с horizOn уже сегодня. Free Tier включён.