
マッチ
ターン制の対戦を管理し、結果を確定します。
SDK と REST
Unity、Godot、Unreal と統合するか、REST インターフェースを使えます。
プロジェクトのダッシュボード
プロジェクトで各機能を設定し、現在のデータを管理できます。
クイック統合
quickstart.dashboard.videos.matches
動画は近日公開
quickstart.videoSummaries.matches
using UnityEngine;
using PM.horizOn.Cloud.Manager;
public sealed class MatchesDemo : MonoBehaviour
{
// Initialize/connect and restore the existing player in the Quickstart first.
// Invoke explicitly. The SDK also enforces the returned polling cadence.
public async void ReadMyMatches()
{
var user = UserManager.Instance.CurrentUser;
if (user == null || !user.IsValid()) return;
var result = await MatchesManager.Instance.GetMatches(user.UserId);
if (!result.IsSuccess) { Debug.LogWarning(result.ErrorCode); return; }
Debug.Log($"Ledger revision: {result.Data.revision}");
foreach (var match in result.Data.recent)
Debug.Log($"Match {match.id}: {match.status}");
// Recent may include an active match after this player's forfeit.
// Respect result.Data.pollAfterSeconds; no background poll or automatic timeout.
}
}
// Full two-player recipe: SDK Examples/MatchesExample and MatchesSampleStore.
// ReadLedger/ReadMatch -> SaveCreateAfterLedgerReview/SaveActionAfterMatchReview.
// ApplySavedIntent sends one durable original body/revision. Unknown create is reconciled.
// Never replace a pending original with the revision from a later read.
// ReportResult uses the original finalStateRevision/result bytes/sorted winnerIds.
// Ordinary consensus is not trusted victory proof. Ranked runs use Validated Actions.この SDK サンプルは develop を使用します。必要な API がインストール済みの SDK にあるか確認してください。 クイックスタートを参照
