Unity Overview
The IGP Unity SDK integrates game authorization, game-data synchronization, achievements, real-name verification, and anti-addiction into Unity games.
This page only covers Unity-specific details. For feature-level integration steps, start with the relevant page under “Use the SDK by feature”.
Feature list
Section titled “Feature list”- Game authorization: verify at launch that the current player legitimately owns the game on IGP, with
authorized_onlineandauthorized_offlineresults (protocol side:RequestGameAuthorization). - Desktop client connection: connect to the local IGP desktop client, retry when needed, start it on demand, and check available capabilities.
- Game-data synchronization: after a match starts, exchange realtime and game data over RoomNode KCP/TCP reliable and optional UDP unreliable lanes.
- State and RPC: synchronize player state across endpoints and invoke logic on other players in the room.
- Achievements: unlock achievements and report progress.
- Real-name verification and anti-addiction module: optional status events, age range reads, and remaining play-time reads.
- Mirror transport: optional transport package for Unity projects that already use Mirror.
- GameKit / Leaderboard / Share: optional GameKit capabilities such as leaderboards and share.
Prerequisites
Section titled “Prerequisites”- Unity
2022.3 LTSor newer - Windows 10 or newer
- IGP desktop client installed when Desktop capabilities are used
- An
appIdassigned by IGP operations
Package layout
Section titled “Package layout”Four public modules are available. Each module ships as both a Unity Package and an offline UPM tarball:
| Package | Purpose | Applicable projects |
|---|---|---|
cn.indiegp.sdk.unity | Main package with runtime and Editor tooling | Required for every integration |
cn.indiegp.sdk.unity.multiplayer | RoomNode Game data plane, Realtime, KCP/TCP/UDP, and optional Mirror integration | Projects that need game-data synchronization or Mirror |
cn.indiegp.sdk.unity.compliance | Real-name verification and anti-addiction helpers | Projects that need state and event reads |
cn.indiegp.sdk.unity.game-kit | GameKit extension package, currently including Leaderboard and Share | Projects that need leaderboards, share, or other GameKit capabilities |
The main package provides Achievements under Assets/IGP.UnitySDK/Samples.
The Multiplayer package provides these samples under Assets/IGP.UnitySDK.Multiplayer/Samples:
RealtimeMessaging- realtime / state / RPC demo
Start integrating
Section titled “Start integrating”Core checks the current Unity runtime platform in Desktop-then-Mobile order
and constructs exactly one matching Host Session runtime. Attach failure does
not switch platforms, and users do not configure one. Multiplayer does not
inspect that choice. Its parameterless entry point requests
a descriptor from the active Core provider, while its descriptor overload
accepts one explicitly from the caller. Both create only the RoomNode Game data
plane.
- Install the package: Unity Installation
- Complete the minimal validation flow for your target capability: Unity Quick Start
- Confirm the base flow: Startup and connection
- Continue with the target feature:
- Complete the relevant checks: Testing
- For Editor debugging of desktop capabilities: Unity Debugging
- For the latest version and download links: Release Notes
Current limitations
Section titled “Current limitations”- Preview phase: APIs may still contain incompatible changes, so pin an exact version.
- Windows 10 and later only. Other operating systems are out of scope.
- A failed Host descriptor request is a warning and does not fail Core
initialization.
IsRuntimeCreatedremains false and the caller may retry. - The current verified release target remains Windows Desktop. The Mobile Host provider is not yet part of the public support matrix.
Trademark and copyright notice
Section titled “Trademark and copyright notice”This page and the IGP Unity SDK are not sponsored by or affiliated with Unity Technologies or its affiliates, and do not imply endorsement by Unity Technologies or its affiliates.
Unity, Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere. Use of Unity trademarks, logos, and brand assets should follow the Unity trademark guidelines.