Skip to main content

API reference — C# API (AR51.Net)

The public API of the AR51.Net .NET library, described from the caller's side: what you call and what you receive. New to AR51.Net? Start with the overview and the quickstart.

PackageNuGet AR51.Net
Version3.0.302 (3.0.3.2R) — numbered the same as the AR 51 Unity SDK
NamespaceAR51.Net (the only one)
Targets.NET 8 and .NET 10
DependenciesGoogle.Protobuf, Grpc.Net.Client, Microsoft.Extensions.Logging.Abstractions — all managed, no native libraries
Entry pointAR51Client.Create → IAR51Client
Looking for a specific type?

The Class index lists all 52 public types. The table below groups the main ones by area.

Areas​

AreaMain typesCovers
ConnectingAR51Client, AR51ClientOptions, IAR51Client, AR51ExceptionThe entry point. Create one IAR51Client with AR51Client.Create, subscribe to what you need, then call StartAsync.
SkeletonsISkeletonClient, SkeletonClient, Skeleton, HandPoseLive skeletons of the tracked people: 25 body joints with confidence, hands from hand-tracking headsets, identity and timing.
Object detectionIObjectDetectionClient, ObjectDetectionClient, TrackedObjectLive tracked objects (for example props) with position and rotation. Works exactly like the skeleton client.
ServersIServerClientThe AR 51 server machines: status, launching and quitting the server program, starting and stopping tracking.
CamerasICameraClient, CameraInfo, CameraSettingsCamera list with calibration values, live JPEG preview, image settings and auto-tune.
CalibrationICalibrationClient, CaptureBoundsCamera calibration and the tracked area (capture bounds).
RecordingIRecordingClientRecording tracking data and camera video on the servers.
DevicesIDeviceClientThe apps and devices connected to the system: headsets, apps, phones and Mocap Studio.

Conventions at a glance​

  • Units and axes: meters; left-handed X right, Y up, Z forward (the same axes as Unity). Rotations are System.Numerics.Quaternion.
  • Time: CaptureTime is the server's clock in UTC; ReceivedTime is your local clock.
  • Threading: every member is safe to call from any thread. SkeletonReceived and ObjectReceived run on the stream's background thread — keep them short. All other events are raised one at a time, in order, on one background thread per client.
  • Errors: failed calls throw AR51Exception with an AR51ErrorCode. Cancellation throws OperationCanceledException; use after dispose throws ObjectDisposedException.

Details: Data conventions, threading and errors.

Scope

This reference documents the public contract only. Internal implementation and wire-level types are not published.

Was this page helpful?