# Core Quickstart

```csharp
using IGP.UnitySDK;
using UnityEngine;

public sealed class IGPBootstrap : MonoBehaviour
{
    [SerializeField] private IGPRuntimeManager runtime;

    private async void Start()
    {
        runtime ??= FindObjectOfType<IGPRuntimeManager>();
        if (runtime == null || !await runtime.InitializeAsync())
        {
            Debug.LogError("IGP core initialization failed.");
        }
    }
}
```

The single initialization call attaches desktop/auth first, then awaits every `IIGPRuntimeExtension` on the same GameObject. A core-only installation creates no socket and has no network tick.

Achievement example:

```csharp
await IGPSDK.UnlockAchievementAsync(runtime, "FIRST_SESSION");
```

Multiplayer setup continues in `IGP.UnitySDK.Multiplayer/Documentation~/README.md`.
