# Start Here

The core package is sufficient for Desktop/Mobile Host Session transport,
authorization, achievements, explicit phone account sessions, source-neutral
basic profiles, user context, offline-map notifications, and common Host
command gateways.

Scene setup:

```text
IGPRuntimeRoot
└── IGPRuntimeManager
```

Create one `IGPConfig`, set `appId`, select `hostSessionPlatform` as `Desktop` or
`Mobile`, assign it to the runtime, and call `InitializeAsync()` from the game
startup flow. Host platform selection belongs only to Core. Do not add
networking components to a core-only project.

Phone sign-in and profile APIs may be called before `InitializeAsync()`. They use only the allowlisted Direct Curio routes documented in [Account And Profiles](ACCOUNT-AND-PROFILES.md); this does not make every Desktop capability available without Desktop.

For Playing Game data over Realtime, KCP/TCP/UDP, or Mirror, install the
Multiplayer package and add `IGPMultiplayerRuntime` to the same runtime root.
Gateway room control belongs to the internal Lobby package, not Core or
Multiplayer Runtime.
