Skip to main content

Utilities & platform

General-purpose helpers under Public/Utilities/. None expose positional values, so no cm ↔ m conversion applies here.

EPlatformTypes

UENUM ⚠️ unverified

The runtime/XR platform a client advertises (also AAR51SDK.Platform). UENUM without BlueprintType — reflected and C++-usable; ⚠️ whether it appears in Blueprint dropdowns without BlueprintType is unconfirmed.

ValueNameValueName
0PC7HtcVive
1HoloLens8OpenXrTethered
2HoloLens29OpenXrMobile
3Android10PicoNeo3Pro
4MagicLeap11OvrTethered
5OculusRift12HtcFocus3
6OculusQuest
#IsPlatformVrmethodstaticC++ only
static bool IsPlatformVr(EPlatformTypes platform);
Returnsbooltrue for VR/MR headsets (HoloLens, HoloLens2, HtcVive, OculusQuest, OculusRift, OpenXrTethered, OpenXrMobile, PicoNeo3Pro, OvrTethered, HtcFocus3); false for PC, Android, MagicLeap

Header-inline free function (not a UFUNCTION). Useful to branch desktop vs VR behavior.

UNetworkUtils

Moved to UNetworkUtils.

Logging — the AR51SDK category

log category + macro

Public/Utilities/Debug.h declares the SDK's UE log category and a convenience macro:

  • DECLARE_LOG_CATEGORY_EXTERN(AR51SDK, Log, All) — reference the AR51SDK category to filter SDK output (Log AR51SDK ... in the console / Output Log).
  • #define LOG(Format, ...) — wraps UE_LOG(AR51SDK, Log, ...) and auto-prefixes __FUNCTION__ + __LINE__. For SDK/plugin C++ code; not Blueprint-relevant.

UnrealThread

Moved to UnrealThread.

ISingleton<T>

template class C++ only

A CRTP base providing a GC-aware singleton via TWeakObjectPtr<T> (Public/Utilities/ISingleton.h). The protected constructor registers the instance automatically when a T is created.

static T* Instance(); // the live singleton, or nullptr if none/GC'd (logs a notice)

A game dev integrating against SDK-provided singletons calls T::Instance() (surfaced per component as each Get…Singleton() accessor).

Internal — not documented

UEvent<TSender,TArgs> (use UE's native delegates instead), TaskBase / Task<T> internals, AutoResetEvent, Filters/* (KalmanFilter1D, MovingAverage, MovingMedian), Heaps/*, EnableGrpcIncludes / DisableGrpcIncludes, and TTransform internals are excluded.

Was this page helpful?