Skip to Content

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:

  1. Cloud → Create Session and saves its return value.
  2. Session → Configure, with a Graffity AR Cloud Configuration and the event’s RuntimeToken connected to AccessToken.
  3. Session → Start. Borrowed mode requires a host-owned running world-tracking AR session. For managed mode set Ownership=Managed and connect your AR Session Config to ManagedSessionConfig.

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.