# Core Error Codes

The core package defines common, desktop-session, authorization, input, and allowlisted Direct API error codes. Errors surface through `IGPSDKException`, failed tasks, or `IGPRuntimeManager.ErrorOccurred`.

Direct capability errors include:

| Code | Meaning |
| --- | --- |
| `DIRECT_SESSION_REQUIRED` | The operation requires an explicit Core user session. |
| `DIRECT_REFRESH_UNAVAILABLE` | The in-memory session cannot be refreshed. |
| `DIRECT_REQUEST_TIMEOUT` | The 15-second Direct HTTP deadline elapsed. |
| `DIRECT_REQUEST_FAILED` | The Direct transport failed before an HTTP response was available. |
| `DIRECT_PROTOCOL_ERROR` | Curio or Arena returned an incomplete or malformed capability response. |
| `DIRECT_API_URL_INVALID` | A DEV-only API override or returned Gateway URL is invalid. |
| `DIRECT_PLATFORM_UNSUPPORTED` | Direct API is unavailable on the current Unity target, currently WebGL. |
| `ACCOUNT_CONTEXT_CONFLICT` | Desktop and Direct resolve to different users. |

Non-success Curio responses can retain the server error code. A fallback without a server code uses `DIRECT_HTTP_<status>`; HTTP `401` uses `UNAUTHORIZED`. Credential values are not included in exception messages.

Realtime, KCP/TCP/UDP, and Game data-plane result codes are defined by
`IGP.Multiplayer`. Gateway room-control errors are defined by the internal Lobby
package and are not Core or Multiplayer Runtime errors.
