AAR51SDK
UCLASS()
class AR51SDK_API AAR51SDK : public AActor, public ISingleton<AAR51SDK>
Inherits: AActor (Unreal Engine) · ISingleton<AAR51SDK>
The connection entry-point and root actor of the SDK. Place one in the level and configure the OMS connection in the Details panel. On BeginPlay it stands up the local gRPC service surface (Anchor, Camera, Draw, Engine, Game, HandSkeleton, Render) on ServicesPort, then either discovers OMS on DiscoveryPort or connects directly to OmsIPAddress:OmsRegistrationPort, and registers the device. On end-of-play it shuts the services down and clears tracked characters, anchors, and hands. Acts as a singleton (one instance per world).
The connection model is inverted relative to a typical client SDK: there is no Blueprint Connect() call. The Unreal app runs the gRPC servers; OMS/CVS call into them. Connection is automatic at BeginPlay — you control it entirely through the properties below.
This page is reference (facts only). For the connection workflow, see the Connection & services guide.
Properties
All EditAnywhere, BlueprintReadWrite, Category="General".
| Property | Type | Default | Description |
|---|---|---|---|
| Discovery & registration | |||
Version | FString | "1.0.0.0" | SDK/app version reported to OMS |
DiscoveryPort | int | 1500 | UDP discovery port used to locate the OMS |
OmsIPAddress | FString | "" | if non-empty, connect directly to this OMS IP and skip discovery |
OmsRegistrationPort | FString | "1501" | OMS registration endpoint port |
ServiceLocalIPAddress | FString | "" | overrides the auto-detected local IP advertised to OMS |
ServicesPort | int | -1 | port the local device services (gRPC) listen on. -1 = pick a random free port; a busy explicit value falls back to the nearest free port |
IsDiscoveryVerbose | bool | false | verbose logging of the discovery handshake |
IsDGS | bool | false | Dedicated Game Server mode flag (passed to registration) |
Platform | EPlatformTypes | PC | declared platform/device class reported to OMS |
OverrideDeviceId | FString | "" | force a specific device id instead of the auto-generated one |
| Debug | |||
IsOnScreenDebugMessage | bool | false | route SDK debug messages to the on-screen display |
Method summary
Static
| Method | Returns | |
|---|---|---|
Instance | AAR51SDK* | C++ only |
Instance
| Method | Returns | |
|---|---|---|
Tick | void | C++ only |
GetRegistration | TSharedPtr<RegistrationClient> | C++ only |
There is no Blueprint Connect() method on this actor. Connection is automatic at BeginPlay; configure it through the properties above. None of this actor's methods are UFUNCTION-exposed — they are C++ only.
Events
This actor declares no BlueprintAssignable events.
GetRegistration() is the only programmatic hook into connection state, and it returns an internal/transport type. There is no documented Blueprint "is connected" property or connection-changed event on this actor — poll or wrap registration state yourself if you need it.
Method details
Instance
static AAR51SDK* Instance(); // from ISingleton<AAR51SDK>
The single live SDK actor — the usual way to reach the connection root from anywhere.
nullptr if none is spawned or it was garbage-collected// Read the configured platform from the in-level SDK actor
if (AAR51SDK* SDK = AAR51SDK::Instance())
{
const EPlatformTypes Platform = SDK->Platform;
UE_LOG(LogTemp, Log, TEXT("AR 51 SDK platform = %d"), (int32)Platform);
}
Tick
virtual void Tick(float DeltaTime) override;
Per-frame pump that drives the SDK's marshalling-to-game-thread queue. Called by the engine; you do not invoke it directly.
GetRegistration
TSharedPtr<RegistrationClient> GetRegistration();
Returns the live registration client handle — the object managing the OMS handshake and heartbeat.
RegistrationClient is an internal/transport type, not documented for public use. Treat the return value as an opaque handle; do not depend on its members.
See also
EPlatformTypes— the device-class enum set onPlatformUAnchorServiceComponent— spatial-anchor / boundary service hosted on this actor- Service components — the other device-side services hosted on this actor
USkeletonConsumer— the skeleton-stream entry point used to drive characters once connected- Class index — all Unreal SDK types