Changelog
This page records the concrete changes in each version.
If you are looking for downloads, version numbers, and checksums, see Release Notes.
0.1.6 - 2026-06-12
Section titled “0.1.6 - 2026-06-12”- Unity hosted data-plane attach is now single-flight per
roomId + playerId, preventing concurrent duplicate descriptor requests and repeated KCP session replacement. - Unity Direct KCP data-plane now reports connected only after
kcp_handshake_ack; reconnect closes the old KCP session first, retries with500ms -> 1s -> 2s, and discards callbacks from stale attempts. - Unity runtime classifies
STATE_NOT_FOUND,INVALID_STATE_SCOPE,INVALID_REQUEST, andFORBIDDENas business errors.STATE_NOT_FOUNDapplies defaults for common global state keys and no longer surfaces as a connection-service failure. bridge/contracts/data-plane.mdnow documents data-plane single-flight, reconnect close ordering, handshake ack, and stale-attempt semantics.- Added the
PREVIEWSDK environment for Unity / Godot / GameMaker. It connects to the IndieGamesPass Preview desktop client and\\.\pipe\igp-desktop-sdk-preview. - Added a Rematch button to the Unity MirrorTransportDemo debug panel, plus Unity / Godot hosted-session rematch send regression coverage for command code
16.
0.1.5 - 2026-06-12
Section titled “0.1.5 - 2026-06-12”- Unity reliable data sending now drains by available KCP
WaitSndcapacity instead of a fixed byte-rate/token bucket, with a fallback per-drain cap whenWaitSndis unavailable. - Unity reliable send queues now return
kErrorSendQueueFullwhen capacity is exhausted. Mirror transport treats this as reliable-channel loss and disconnects the affected peer so state can be rebuilt cleanly. - Unity Mirror transport now prioritizes small reliable payloads, stops silently dropping inbound queued transport messages, detects 10-second inbound peer silence, and best-effort flushes disconnect packets on shutdown.
- Unity reliable reassembly now evicts the oldest partial message under inflight/buffer pressure instead of throwing, and reports
reassemblyEvictedin network diagnostics. - Unity hosted data-plane status now recovers from stale
errorstate when KCP is still alive, avoiding misleading status after transient transport errors.
0.1.4 - 2026-06-10
Section titled “0.1.4 - 2026-06-10”- Added the independently versioned optional Unity Cloud Archive package
cn.indiegp.sdk.unity.cloud-archive0.1.4. It forwards cloud-save load/save requests through desktop session, restrictsslotto fixed values"1"through"5", and exposesversion/baseVersionpluscurrentVersionon 409 conflicts. - Added the
cloudArchivedesktop-session capability.cloudArchiveForwardnow fails early when the capability is missing, and Cloud Archive API failures parse Desktop’s normalized error body while keeping compatibility with the legacy API envelope. - Added the Cloud Archive optional
.unitypackageto Unity release packaging, Unity package tests, installation docs, Release Notes, and the site download table.
0.1.3 - 2026-06-09
Section titled “0.1.3 - 2026-06-09”- Added stable/raw Unity KCP RTT statistics. If a heartbeat is sent while KCP already has queued data, that sample is marked congested and only contributes to
LastRTT,RawAvgRTT, and diagnostics instead of polluting the normalAvgRTTlatency display. - Added
rttLastMs,rttAvgMs,rttRawAvgMs,rttCongested, andpingQueueDepthto Unity network diagnostics so short spikes can be classified as game-payload queueing, real network variance, or receive-side backlog. - Split Unity network diagnostics logging and the on-screen overlay into separate switches.
EnableNetworkDiagnosticsenables sampling/logging only, whileShowNetworkDiagnosticsOverlaycontrols the debug panel, so logging can stay on without automatically showing debug UI. - Added an outgoing scheduler for Unity point-to-point reliable messages. Reliable fragments are released over frames using a token bucket, per-drain payload cap, and
WaitSndhigh/low watermarks, reducing the risk of Mirror or large payload bursts flooding KCP. Diagnostics now includenetOutQueue,netOutSent, andnetOutThrottle. - Increased Unity KCP receive burst draining and grow the KCP receive buffer when needed, preventing valid larger messages from staying stuck at the receive-queue head. Diagnostics now include
recvLimit,recvBufGrow, andrecvOversize. - Stopped logging a normal RTT line for every KCP pong to avoid high-frequency logging amplifying Unity main-thread jitter during short network bursts.
0.1.2 - 2026-06-09
Section titled “0.1.2 - 2026-06-09”- Added optional Unity network diagnostics for
WaitSnd, Mirror produced counters, KCP out/recv,hit64,pktQueue, andreassembly, plus a diagnostic overlay. - Bounded the Unity P2P polling compatibility queue so event-only integrations cannot grow the SDK queue without limit.
- Clamped negotiated reliable chunk sizes so JSON/base64 wrapped chunks fit within the KCP frame limit.
- Moved Unity network callbacks outside the SDK network-state lock to reduce SDK-side amplification when game callbacks do heavy work.
- Switched Unity runtime version reporting to the explicit package version to avoid package/version detection mismatches.
0.1.1 - 2026-06-09
Section titled “0.1.1 - 2026-06-09”- Unity hosted sessions now reset the KCP data plane and P2P session state when a same-room rematch returns to waiting, preventing the next round from reusing stale data-plane state.
0.1.0 - 2026-06-08
Section titled “0.1.0 - 2026-06-08”- Added the optional Unity Lying Bottle package
cn.indiegp.sdk.unity.lying-bottle, with typed desktop-session forwarding entry points for player profile, inventory, shop, order, and related bridge calls. - Added request/response call support to Unity desktop sessions.
IGPRuntimeManagercan now forward Lying Bottle requests through desktop session. - Added Lying Bottle quickstart, README, and Chinese developer guide updates, aligned with the latest bridge guide fields, routes, and purchase quantity rules.
0.0.8 - 2026-06-05
Section titled “0.0.8 - 2026-06-05”- Added hosted bootstrap requests during Unity desktop session attach, allowing
IGPRuntimeManagerto fetch hosted-room initialization parameters from desktop and simplify hosted-mode integration. - Updated
IGPDesktopSessionClient/IGPDesktopSessionProtocolwith hosted bootstrap request and response models plus generated protocol constants from the rootigp-protosource.
0.0.7 - 2026-05-27
Section titled “0.0.7 - 2026-05-27”- Added a Unity same-room in-progress map change event. Games can receive map changes through
IGPRuntimeManager.onMapChangedorIGPEventManager.onMapChanged. - Added
IGPMapChangeData, including previous and nextmapPublicId/mapVersionIdplus the updated room snapshot. - Updated Unity quickstart, event reference, room lifecycle sample, troubleshooting, and website room docs with in-progress map change integration notes.
0.0.6 - 2026-05-13
Section titled “0.0.6 - 2026-05-13”- Unity / GameMaker / Godot achievements now include an API to clear all achievements for the current game and return the clear result.
- The Unity Mirror transport now defaults to compatibility with Mirror
v89.0.0and newer.v90.0.0or newer remains recommended.
0.0.5 - 2026-05-12
Section titled “0.0.5 - 2026-05-12”- Added desktop session protocol compatibility checks during attach, with a clear upgrade error when desktop is too old or incompatible.
- The SDK now uses the capability list returned by desktop to decide whether a feature can be called, avoiding later failures.
0.0.4 - 2026-05-12
Section titled “0.0.4 - 2026-05-12”- When the SDK starts desktop, production builds now only launch the trusted IndieGamesPass desktop app; development builds can still point to a local debug desktop.
- Unity Editor attach now falls back to the current Unity Editor process path when no game executable debug path is configured, and desktop validates the appId through SDK debugging rules.
- Unity SDK initialization is now explicit. Games should call
InitializeAsync()directly. IGPRuntimeManagernow auto-attaches or createsIGPConfigin the Unity Editor.- Desktop session, host bridge, and hosted session protocol constants are now generated from a shared source to reduce drift.
- Unity SDK docs were updated for the latest initialization and Editor debugging flow.
0.0.2 - 2026-04-29
Section titled “0.0.2 - 2026-04-29”- Added the optional Unity compliance package
cn.indiegp.sdk.unity.compliancefor real-name verification, anti-addiction events, and status updates. - Added compliance APIs for age group and remaining play time so games do not need to calculate them locally.
- Real-name verification and anti-addiction network or service errors are now handled as blocked entry, with the default message “network or service error”.
- Improved Unity SDK handling for local communication, Editor debugging, and offline authorization cache safety.
- Changed Unity SDK release artifacts to
.unitypackagefiles so they can be imported directly through Unity Editor’sImport Packageflow.
0.0.1 - 2026-03-31
Section titled “0.0.1 - 2026-03-31”Initial SDK release.
- Provided core Unity SDK capabilities, including startup connection, achievements, room lobby, realtime messaging, state, and RPC.
- Provided the optional Unity Mirror transport package for Mirror-based multiplayer scenarios.
- Provided initial packages, sample projects, and integration docs for first-round integration and validation.