Blueprint integration
Add a Graffity AR Cloud Component to an Actor outside every map root. The component owns one session and shuts it down on EndPlay/destruction. The SDK does not move your camera or start a second native AR session.
The versioned BP_GraffityIntegration sample has a Cloud component and a custom LocalizeWithRuntimeToken(RuntimeToken) event. Its connected graph calls:
Cloud → Create Sessionand saves its return value.Session → Configure, with aGraffity AR Cloud Configurationand the event’sRuntimeTokenconnected toAccessToken.Session → Start. Borrowed mode requires a host-owned running world-tracking AR session. For managed mode setOwnership=Managedand connect your AR Session Config toManagedSessionConfig.
Supply credentials through your host’s runtime integration. Leave literals, defaults and distributed sample settings empty. Set bHasInitialLocation and valid latitude/longitude when you use the Blueprint-only path without a C++ location provider.
Bind OnStateChanged, OnError, OnLocalized, OnLocalizationFinished and OnNavigationChanged before starting. A successful localization publishes section/root alignment before finished success. Read GetGuidance, GetARCapabilities and GetRuntimeMetrics for feedback. Permission/tracking waits are not a successful fix.
After localization, use RefreshPointsOfInterest and GetPointsOfInterest. Pass a loaded ID to StartNavigation, or an explicit complete Graffity ARPOI to NavigateToPoi. Read GetNavigationState; call ContinueToNextSection only after bWaitingForContinuation becomes true.
Expose Retry, Stop, Reset and token replacement through explicit user actions. Host AR origin changes require NotifyOriginChanged through C++ or the subsystem’s reset notification. Reset clears SDK alignment; it does not reset host AR tracking.
The asset and all reflected session nodes are compiled by the local Automation fixtures, then loaded in a fresh Editor process. Device permission and camera behavior remain deferred.