# Core Troubleshooting

## Initialization fails

- Confirm there is exactly one persistent `IGPRuntimeManager`.
- Confirm its `IGPConfig` has the expected `appId` and environment.
- Check `ErrorOccurred` and `AuthorizationChanged`.
- If an optional extension fails, inspect that component; core initialization rolls back already-started extensions in reverse order.

## Desktop capability is unavailable

- Confirm the game was launched or attached through the expected desktop session.
- Confirm desktop advertises the capability.
- Keep command/capability IDs inside the optional package that owns the feature.

## Direct account or profile request fails

- Direct v1 is unsupported on Unity WebGL.
- Confirm an explicit phone session exists before calling Direct authenticated APIs.
- In `DEV`, check the hidden Curio URL override only if a test environment set it; production and preview always use the fixed public API URL.
- A selected Desktop profile command does not retry through Direct HTTP. Resolve the Desktop error or detach Desktop before expecting the Direct profile provider to be selected.
- `ACCOUNT_CONTEXT_CONFLICT` means the explicit phone session and attached Desktop identify different users.

## Multiplayer fields are missing

This is expected in the core Inspector. Install `cn.indiegp.sdk.unity.multiplayer` and add `IGPMultiplayerRuntime` on the same GameObject.
