Skip to content

Game authorization

Game authorization verifies whether the current player legitimately owns the game on IGP. Integrate it early in the startup flow so failed results are handled before the player enters core gameplay.

EngineStatusNotes
UnityPreviewIGPRuntimeManager automatically integrates the desktop client authorization flow.
GameMakerPreviewAuthorization is completed through the Windows runtime and the local desktop client.
GodotNo standalone entry yetGodot currently focuses on launch tickets, rooms, and achievements. No standalone game authorization API is provided yet.
  • Startup and connection is complete.
  • The IGP-assigned appId is configured.
  • The local IGP desktop client is available.
  • For a production game validation, backend authorization configuration must match the current appId.

Unity projects usually only need to configure appId; the runtime handles the authorization flow. Business code mainly listens to state changes.

using UnityEngine;
using IGP.UnitySDK;
public sealed class IGPAuthorizationView : MonoBehaviour
{
[SerializeField] private IGPRuntimeManager runtimeManager;
private void OnEnable()
{
runtimeManager.onAuthorizationStateChanged.AddListener(OnAuthorizationChanged);
runtimeManager.onAuthorizationFailed.AddListener(OnAuthorizationFailed);
}
private void OnDisable()
{
runtimeManager.onAuthorizationStateChanged.RemoveListener(OnAuthorizationChanged);
runtimeManager.onAuthorizationFailed.RemoveListener(OnAuthorizationFailed);
}
private void OnAuthorizationChanged(IGPAuthorizationState state)
{
Debug.Log($"IGP authorization: {state}");
if (runtimeManager.IsAuthorized)
{
// Allow entering the main menu or continuing the game.
}
}
private void OnAuthorizationFailed(string message)
{
Debug.LogError($"IGP authorization failed: {message}");
}
}

For minimal validation, run Unity Quick Start first.

EngineCheckpoint
UnityAuthorizedOnline or AuthorizedOffline is observed, and failure reasons are visible when authorization fails.
GameMakerigp_get_authorization_state() moves from pending to authorized_online, authorized_offline, or failed.
GodotStandalone game authorization is not validated currently.
  • Authorization remains pending: confirm the desktop client connection succeeded.
  • Authorization fails while connection is normal: check whether appId matches backend configuration.
  • Desktop capability testing fails in Unity Editor: configure Editor debugging by following Unity debugging.
  • GameMaker has no events: confirm igp_update() is called every frame and igp_poll_event() is continuously polled.