IARSystemSupport

Implement [IARSystemSupport](API\Runtime\AugmentedReality\IARSystemSupport) for any platform that wants to be an Unreal Augmented Reality System.

Windows
MacOS
Linux

Syntax

class IARSystemSupport

Remarks

Implement IARSystemSupport for any platform that wants to be an Unreal Augmented Reality System. e.g. AppleARKit, GoogleARCore. This interface is included as part of the abstract class `FARSupportInterface_ . The functions you must override are coalesced here for clarity.

Augmented Reality Spaces

Engineers working on supporting Augmented Reality must be aware of three spaces:

TrackingSpace : This is the space defined by the underlying AR system (e.g. ARKit, ARCore, etc.) Unreal has no control over the origin of this space.

AlignedTrackingSpace : To regain control of TrackingSpace, Unreal applies the AlignmentTransform so bend TrackingSpace to its will. If you are implementing IARSystemSupport, you will need to understand this transform and apply it accordingly.

WorldSpace : This is Unreal's coordinate system. Coordinates from Tracking Space can be translated into WorldSpace by using the AlignmentTransform and the TrackingToWorldTransform.

* [TrackingSpace]--(AlignmentTransform)-->[AlignedTrackingSpace]--(TrackingToWorld)-->[WorldSpace] *

Destructors

Name Description

Public function Virtual

~IARSystemSupport()

Functions

Name Description

Public function

void *

 

GetARSessionRawPointer()

Public function

void *

 

GetGameThreadARFrameRawPointer()

Public function

bool

 

OnAddManualEnvironmentCaptureProbe

(
    FVector Location,
    FVector Extent
)

Tells the ARSystem to generate a capture probe at the specified location if supported

Public function

bool

 

OnAddRuntimeCandidateImage

(
    UARSessionConfig* SessionConfi...,
    UTexture2D* CandidateTexture,
    FString FriendlyName,
    float PhysicalWidth
)

Add candidate image at runtime

Public function Virtual

void

 

OnARSystemInitialized()

Invoked after the base AR system has been initialized.

Public function Const

TArray< UARP...

 

OnGetAllPins()

Public function Const

TArray< UART...

 

OnGetAllTrackedGeometries()

Public function Const

FARSessionSt...

 

OnGetARSessionStatus()

Public function

UARTextureCa...

 

OnGetCameraDepth()

Public function

UARTextureCa...

 

OnGetCameraImage()

Public function Const

TSharedPtr< ...

 

OnGetCandidateObject

(
    FVector Location,
    FVector Extent
)

Generates a UARCandidateObject from the point cloud data within the location and its extent using an async task

Public function Const

UARLightEsti...

 

OnGetCurrentLightEstimate()

Public function Const

TArray< FVec...

 

OnGetPointCloud()

Public function Const

TArray< FARV...

 

OnGetSupportedVideoFormats

(
    EARSessionType SessionType
)

Public function Const

EARTrackingQ...

 

OnGetTrackingQuality()

Public function Const

EARWorldMapp...

 

OnGetWorldMappingStatus()

Public function Const

bool

 

OnIsTrackingTypeSupported

(
    EARSessionType SessionType
)

Public function

TArray< FART...

 

OnLineTraceTrackedObjects

(
    const FVector2D ScreenCoord,
    EARLineTraceChannels TraceChannels
)

Trace all the tracked geometries and determine which have been hit by a ray cast from `ScreenCoord_.

Public function

TArray< FART...

 

OnLineTraceTrackedObjects

(
    const FVector Start,
    const FVector End,
    EARLineTraceChannels TraceChannels
)

Public function

void

 

OnPauseARSession()

Stop the AR system but leave its internal state intact.

Public function

UARPin *

 

OnPinComponent

(
    USceneComponent* ComponentToPi...,
    const FTransform& PinToWorldTransf...,
    UARTrackedGeometry* TrackedGeo...,
    const FName DebugName
)

Pin an Unreal Component to a location in the world.

Public function

void

 

OnRemovePin

(
    UARPin* PinToRemove
)

Given a pin, remove it and stop updating the associated component based on the tracked geometry.

Public function Const

TSharedPtr< ...

 

OnSaveWorld()

Saves the AR world to a byte array using an async task

Public function

void

 

OnSetAlignmentTransform

(
    const FTransform& InAlignmentTrans...
)

Set a transform that will align the Tracking Space origin to the World Space origin.

Public function Virtual

bool

 

OnStartARGameFrame

(
    FWorldContext& WorldContext
)

Public function

void

 

OnStartARSession

(
    UARSessionConfig* SessionConfi...
)

Start the AR system.

Public function

void

 

OnStopARSession()

Stop the AR system and reset its internal state; this task must succeed.

References

Module

AugmentedReality

Header

Runtime/AugmentedReality/Public/ARSystem.h

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback