공유 객체

공유 객체

정해진 접근 규칙에 따라 게임 오브젝트를 공유하세요.

무료로 시작하기

공유 객체

정해진 접근 규칙에 따라 게임 오브젝트를 공유하세요.

SDK 및 REST

Unity, Godot, Unreal과 통합하거나 REST 인터페이스를 사용하세요.

프로젝트 대시보드

프로젝트에서 각 기능을 설정하고 현재 데이터를 관리하세요.

빠른 통합

빠른 통합

빠른 통합
Unity (C#)
using UnityEngine;
using PM.horizOn.Cloud.Manager;
using PM.horizOn.Cloud.Objects.Network.Responses;

public sealed class SharedObjectsDemo : MonoBehaviour
{
    // Initialize/connect and restore the existing player in the Quickstart first.
    // Wire an explicit player action; do not add this read to a startup/poll loop.
    public async void ReadWorldMap()
    {
        var user = UserManager.Instance.CurrentUser;
        if (user == null || !user.IsValid()) return;
        var result = await SharedObjectsManager.Instance.QueryObjects(user.UserId, "bases", new SharedQuery {
            mode = SharedQueryMode.Rectangle,
            minX = -10, maxX = 10, minY = -10, maxY = 10, limit = 20
        });
        if (!result.IsSuccess) {
            Debug.LogWarning(result.ErrorCode);
            return;
        }
        foreach (var item in result.Data.objects) {
            byte[] bytes = item.data; // Opaque game bytes; validate your game's own format.
            Debug.Log($"Object {item.id}: {bytes.Length} bytes");
        }
        // Respect result.Data.pollAfterSeconds; no automatic poll or next-page loop.
        // Keep exact dataBase64 and typed search metadata unchanged on metadata edits.
        // Persist original target, bytes and If-Match revision before a single mutation.
        // Unknown CREATE: explicit GetRecoveryUsage/QueryRecoveryObjects; never resend.
        // Generic/defense/ranked VA starts share one start/submit lease; do not replace a pending run.
        // Trusted validation and durable ordinary Inbox delivery belong to the game backend.
    }
}

이 SDK 예제는 develop을 사용합니다. 필요한 API가 설치된 SDK에 있는지 확인하세요. 퀵스타트 보기

자주 묻는 질문

자주 묻는 질문

통합할 준비가 되셨나요?

오늘부터 horizOn으로 게임 백엔드를 구축하세요. 무료 플랜 포함.