> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pioneeroptimisation.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation & versioning

> Install the SDK from the PIO package registry and pin an exact release.

## Requirements

* Unity 2022.3 LTS or newer.
* UniTask, the SDK's one dependency, resolved via Git URL or the OpenUPM registry.

## Install

The PIO registry is public: no key or login is needed. Add the registry and both packages to `Packages/manifest.json`, merging into the existing blocks:

```json Packages/manifest.json theme={null}
{
  "scopedRegistries": [
    {
      "name": "PIO",
      "url": "https://packages.pioneeroptimisation.com",
      "scopes": [
        "com.pioneeroptimisation"
      ]
    }
  ],
  "dependencies": {
    "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask#2.5.11",
    "com.pioneeroptimisation.sdk": "0.3.6"
  }
}
```

Install through the manifest as above, not by browsing the Package Manager window. Confirm the package compiles and `using PIO;` resolves. The `Samples` tab of the Package Manager offers the Basic Integration sample, a working reference for every guide page here.

## Add package from tarball

Use this when your build system cannot reach a scoped registry. Each release is also a `.tgz` file on the same host, at `https://packages.pioneeroptimisation.com/com.pioneeroptimisation.sdk/-/com.pioneeroptimisation.sdk-<version>.tgz`. Use the version from the manifest above.

1. Download the file and keep it inside your project, for example in `Packages/Tarballs/`, so every machine resolves the same path.
2. In the Package Manager window, choose **+** then **Add package from tarball**, and select the file. Unity writes a `file:` path to `Packages/manifest.json`.
3. Add UniTask to `dependencies` as in the manifest above. Unity does not fetch it for a tarball install.

Upgrading means downloading the next file and repeating step 2.

## Pin an exact version

The SDK is pre-1.0: minor releases may include source-breaking changes, and binary compatibility is not guaranteed. Always pin an exact version, never a range. From 1.0, semver applies and the public surface becomes the compatibility baseline.

## Which version these docs describe

These docs describe the latest release only: the version in the manifest above. Pages, snippets and the [API reference](/api-reference) regenerate from each release as it ships. Before 1.0 there are no per-version copies of the docs. The [changelog](/changelog/unity-sdk) records every release since 0.1.0, with an upgrade note on each breaking minor release.

## Upgrading

Read the [changelog](/changelog/unity-sdk) entries between your version and the latest, bump the version, and recompile. If a release changes your project's payload schema surface, the Editor warns about schema drift; regenerate code constants (`PIO/Generate Code Constants`) to clear it.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.