# IGP Unity SDK Core

`cn.indiegp.sdk.unity` is the common Unity runtime package. It contains:

- `IGPConfig` and `IGPRuntimeManager`
- desktop session attach and generic desktop command transport
- authorization, achievements, user, offline-map, and common gateway APIs
- runtime extension contracts for optional packages

It intentionally contains no Hosted, Room, Realtime, KCP, UDP, network diagnostics, or Mirror types. Install `cn.indiegp.sdk.unity.multiplayer` when the game needs those capabilities.

See [Documentation~/UPM-INSTALL.md](Documentation~/UPM-INSTALL.md) when installing a distributed UPM tarball.

## Minimal Setup

1. Create one `IGPConfig` asset and set `appId`.
2. Add `IGPRuntimeManager` to a persistent GameObject.
3. Assign the config and call `await runtime.InitializeAsync()`.

Optional runtime extensions on the same GameObject are discovered, initialized in order, and shut down by the core runtime.

All public runtime notifications are code-only C# events; they are not Inspector-bindable `UnityEvent` fields. See [Documentation~/EVENT-REFERENCE.md](Documentation~/EVENT-REFERENCE.md) for the maintained event list.

See [Documentation~/QUICKSTART.md](Documentation~/QUICKSTART.md) for the core-only flow and [../IGP.UnitySDK.Multiplayer/README.md](../IGP.UnitySDK.Multiplayer/README.md) for multiplayer.
