Utilities & platform
General-purpose helpers under Public/Utilities/. None expose positional values, so no cm ↔ m conversion applies here.
EPlatformTypes
UENUM ⚠️ unverifiedThe 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.
| Value | Name | Value | Name | |
|---|---|---|---|---|
| 0 | PC | 7 | HtcVive | |
| 1 | HoloLens | 8 | OpenXrTethered | |
| 2 | HoloLens2 | 9 | OpenXrMobile | |
| 3 | Android | 10 | PicoNeo3Pro | |
| 4 | MagicLeap | 11 | OvrTethered | |
| 5 | OculusRift | 12 | HtcFocus3 | |
| 6 | OculusQuest |
static bool IsPlatformVr(EPlatformTypes platform);
true for VR/MR headsets (HoloLens, HoloLens2, HtcVive, OculusQuest, OculusRift, OpenXrTethered, OpenXrMobile, PicoNeo3Pro, OvrTethered, HtcFocus3); false for PC, Android, MagicLeapHeader-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 theAR51SDKcategory to filter SDK output (Log AR51SDK ...in the console / Output Log).#define LOG(Format, ...)— wrapsUE_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++ onlyA 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).
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.