# SDK & API Reference — Overview

The AR 51 SDK lets your application **consume live skeleton, object, and camera data** and control scene elements. It's available for:

| Client | Use it for |
|--------|-----------|
| **Unity SDK** (C#) | Unity games/apps, VR, virtual production |
| **Unreal SDK** (C++/Blueprint) | Unreal projects, LiveLink, RenderStream |
| **.NET (C#)** | Headless / desktop consumers |
| **C++ (CVS)** | Native integrations |
| **Python (PyCvs)** | Research, data pipelines, ML |

## Architecture

AR 51 components talk over **gRPC** and find each other through a **registration/discovery** layer (OMS). Your client doesn't hard-code every address — it discovers services and connects.

![AR 51 service architecture: the OMS service registry, with CVS (skeletons, objects, cameras) and DGS (scene, anchors) registering with and discovered by your client SDK over gRPC](./img/architecture.webp)

## The typical flow

1. **Discover** — your client connects to discovery and finds the available services.
2. **Subscribe** — register for the streams you want (skeletons, objects, camera).
3. **Consume** — receive frames continuously and apply them (drive a character, analyze, render).

## Where to go next

- Connecting & service discovery — get a client online.
- [Data model](/docs/sdk-api/data-model) — skeletons, hands, objects, cameras, anchors.
- [Services reference](/docs/sdk-api/services) — every service and what it streams.
- [Unity API](/docs/sdk-api/unity-api) · [Unreal API](/docs/sdk-api/unreal-api).

:::note[Scope]
This reference documents the **public contract** — what you call and what you receive. Internal implementation (CV/IK algorithms, wire-level proto internals) is intentionally not published.
:::


## Next steps

- [Unity SDK API reference](/docs/sdk-api/unity-api)
- [Data model](/docs/sdk-api/data-model)
- [Services reference](/docs/sdk-api/services)
