
공유 객체
정해진 접근 규칙에 따라 게임 오브젝트를 공유하세요.
SDK 및 REST
Unity, Godot, Unreal과 통합하거나 REST 인터페이스를 사용하세요.
프로젝트 대시보드
프로젝트에서 각 기능을 설정하고 현재 데이터를 관리하세요.
빠른 통합
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에 있는지 확인하세요. 퀵스타트 보기
