Table of Contents

Namespace easyar

Classes

APIExtend

Extend EasyAR Sense API and Unity API to facilitate operations such as data conversion.

APIKeyAccessData

Authentication data for EasyAR cloud services using API Key. For related data, please visit the EasyAR Development Center (https://www.easyar.cn) to obtain it.

ARAssembly

The assembly of AR components. It implements a typical assembly for all EasyAR Sense components.

ARCoreARFoundationFrameSource

In the scene, connect the AR Foundation's ARCore output to the custom frame source input of EasyAR. Provide AR Foundation support through the custom camera feature of EasyAR Sense.

This frame source is a motion tracking device that outputs motion data in ARSession.

To use this frame source, ``AR Foundation`` is required. You need to configure AR Foundation according to the official documentation.

ARCoreFrameSource

The MonoBehaviour controlling the ARCore camera device (easyar.ARCoreCameraDevice) in the scene, providing functional extensions in the Unity environment.

This frame source is a motion tracking device that outputs motion data in the ARSession.

AREngineFrameSource

ConnectstheoutputoftheAREnginecameradevicetothecustomframesourceinputofEasyARinthescene.ProvidesHuaweiAREnginesupportthroughthecustomcameracapabilityofEasyARSense.

Thisframesourceisamotion-trackingdeviceandoutputsmotiondatain.

Thisframesourcedoesnotusethe``HuaweiAREngineUnitySDK``anddoesnotrequireitsaddition.

ARFoundationFrameSource

ConnectstheoutputofARFoundationinthescenetoEasyAR'scustomframesourceinput.ProvidesARFoundationsupportviaEasyARSense'scustomcameracapability.

Thisframesourceisamotion-trackingdeviceandoutputsmotiondatain.

To usethisframesource,``ARFoundation``isrequired.YouneedtoconfigureARFoundationaccordingtotheofficialdocumentation.

ARKitARFoundationFrameSource

In the scene, connect the ARKit output of AR Foundation to the custom frame source input of EasyAR.

Provide AR Foundation support through the custom camera feature of EasyAR Sense.

This frame source is a motion tracking device that will output motion data in ARSession.

To use this frame source, ``AR Foundation`` is required. You need to configure AR Foundation according to the official documentation.

ARKitFrameSource

AMonoBehaviour controlling the ARKit camera device (easyar.ARKitCameraDevice) in the scene, providing functional extensions within the Unity environment.

This frame source is a motion-tracking device that outputs motion data within theARSession.

ARSession

AMonoBehaviour that controls the AR session in the scene. A session contains a set of components assembled into anARAssembly and controls the data flow throughout its lifecycle. This component is the entry point for AR. Only one active instance is allowed at a time.

All features of EasyAR components requireStartSession() to be called before use.

The relative transform between theCamera and some AR components is controlled by the session. One object, known as theCenterObject, remains stationary in the scene, while other objects move relative to it. This object is selected based on the value ofCenterMode. For more details, refer to the description ofARSession.ARCenterMode.

ARSession.FlipOptions

Mirror rendering options.

ARSessionFactory

ARSession factory.

ARSessionFactory.Resources

Create resources required for corresponding components.

ActiveController

Manages the activeSelf of MonoBehaviour.

The default strategy is as follows: TargetController uses by default ActiveWhileTracked, XROriginChildController uses by default ActiveAfterFirstTracked.

You can use OverrideStrategy to override the default strategy. Set MonoBehaviour.enabled to false to disable the control.

AppSecretAccessData

Authentication data for EasyAR Cloud services using App-Secret. Visit EasyAR Developer Center (https://www.easyar.cn) to obtain relevant data.

AssembleOptions

Assembly options for ARSession.

AssembleOptions.DeviceListDownload

Device list download options.

Buffer

Buffer stores a raw byte array, which can be used to access image data. In the Java API, you can obtain the buffer from `Image`_ and then copy data to a Java byte array. In all versions of EasyAR Sense, you can access image data. Refer to `Image`_.

BufferDictionary

A mapping from file paths to `Buffer`_. Used to represent multiple files stored in memory.

BufferPool

BufferPool implements a memory pool that can be used for functions such as custom camera access, which require repeatedly allocating memory of the same size, reducing the time spent on memory allocation.

CameraDeviceDisplay

Regular camera display. You can simulate screen-rotation in the Unity editor or on PC to accommodate special screen placement requirements.

CameraDeviceFrameSource

Controls the easyar.CameraDevice in the scene, extending functionality in the Unity environment.

This frame source is not a motion-tracking device and will not output motion data in ARSession.

CameraImageRenderer

Controls camera-image-rendering in the sceneMonoBehaviour. Only effective when the session's frame-sourceIsCameraUnderControl is true.

CameraParameters

Camera parameters, including image size, focal length, principal point, camera type, and the rotation angle of the camera relative to the device's natural orientation.

CloudLocalizerFrameFilter

Controls theeasyar.CloudLocalizer'sMonoBehaviour in the scene, provides functional extensions in the Unity environment.

CloudRecognizationResponse

Response to the recognition request.

CloudRecognizerFrameFilter

Controls the easyar.CloudRecognizer in the scene, and provides functional extensions in the Unity environment.

DenseSpatialMapBlockController

Control easyar.DenseSpatialMap the generated map grid blocks' MonoBehaviour in the scene.

DenseSpatialMapBuilderFrameFilter

A MonoBehaviour that controls easyar.DenseSpatialMap in the scene, providing functional extensions in the Unity environment.

DeviceFrameSourceCamera

The device camera that provides camera frame data in the frame source.

DeviceFrameSourceCamera.CameraExtrinsics

Camera extrinsic parameters, usually a calibrated matrix, expressing the physical offset of the camera relative to the device/head's pose origin.

DiagnosticsController

The diagnostic controller for ARSession. Make it your development partner rather than the first component to close.

DiagnosticsController.MessageOutputOptions

Message Output Options

Display

Display device.

DisplayEmulator

Rotation simulator.

EasyARCameraImageRendererFeature

A render feature used for rendering AR device camera images when using URP. It needs to be added to the renderer feature list in the forward renderer asset.

EasyARController

The static proxy of the EasyAR Sense Engine class, mainly used for Sense initialization.

EasyARSettings

Configuration details for the EasyAR Sense Unity Plugin.

EasyARSettings.LibVariantConfig

EasyAR Sense library variant configuration.

EasyARSettings.Permission

Permission Configuration.

EasyARSettings.TargetGizmoConfig

Target's Gizmos configuration.

EasyARSettings.TargetGizmoConfig.ImageTargetConfig

ImageTarget'sGizmos configuration.

EasyARSettings.TargetGizmoConfig.ObjectTargetConfig

ObjectTarget's Gizmos configuration.

EasyARSettings.UnityXROptions

Configuration items related to the Unity XR Framework.

EasyARSettings.UnityXROptions.AutoSwitchOptions

Options for automatic switching of Unity XR (such as AR Foundation) objects.

EasyARSettings.UnityXROptions.AutoSwitchOptions.EditorOptions

Edit mode options.

EasyARSettings.UnityXROptions.AutoSwitchOptions.PlayerOptions

Run mode options.

EasyARSettings.Workaround

Workaround for Unity.

EditorCameraDeviceFrameSource

Controls the easyar.CameraDevice's MonoBehaviour in the editor, used only for development diagnostics. Typically, when this frame source is in use, all effects you see are different from those running on the device. You can use it to develop application logic unrelated to AR effects, but you cannot rely on it to judge the effectiveness of AR operations (detection, tracking, localization, etc.).

This frame source is not a motion-tracking device and will not output motion data in ARSession.

EventDumpRecorder

Event dump recorder. Used to save some critical diagnostic information to EED files. All members of this class are thread-safe.

ExplicitAddressAccessData

EasyAR cloud service authentication data that requires filling in the access address.

ExternalDeviceFrameSource

Represents the frame source of an external device. Typically refers to a head-mounted device, where both camera rendering and device tracking are handled by the device SDK.

You can implement custom cameras by inheriting subtypes of ExternalDeviceFrameSource, but you cannot directly inherit from ExternalDeviceFrameSource. Custom cameras usually represent a new device or a new data input method.

When using trial products (Personal License, Trial XR License, or Trial Mega Service, etc.) with a custom camera or headset, EasyAR Sense will stop responding after a fixed limited time upon each startup.

ExternalDeviceMotionFrameSource

Represents a frame source for external devices with motion tracking capability. Usually refers to head-mounted devices, where camera rendering and device tracking are handled by the device SDK.

This frame source is a motion tracking device that outputs motion data in ARSession.

You can implement device inputs like headsets by inheriting from it, but you must handle the motion tracking yourself; EasyAR's motion tracking cannot be used directly on external devices. You need to obtain image and pose data from hardware or other sources and input it to EasyAR; EasyAR does not provide the capability to acquire this data, but it does provide the ability to run EasyAR features after inputting this data.

When using trial products (such as Personal Edition license, Trial XR license, or Trial Mega service, etc.) on custom cameras or headsets, EasyAR Sense will stop responding after a fixed limited time upon each startup.

ExternalDeviceRotationFrameSource

Represents a frame source for external devices with 3DOF rotational tracking capability. Typically refers to head-mounted devices where camera rendering and device tracking are both handled by the device SDK.

This frame source is a 3DOF rotational tracking device that outputs rotation data in ARSession.

You can implement device inputs such as head-mounted displays by inheriting from it, but you must handle the tracking functionality yourself, as EasyAR's 3DOF rotational tracking cannot be used directly on external devices. You need to obtain image and rotation data from hardware or other sources and input it into EasyAR. EasyAR does not provide the capability to acquire this data, but it does provide the ability to run EasyAR features after inputting this data into EasyAR.

When using trial products (such as personal edition licenses, trial XR licenses, or trial Mega services, etc.) on custom cameras or head-mounted displays, EasyAR Sense will stop responding after a fixed limited time each time it is started.

ExternalFrameSource

An external frame source represents a frame source not built into EasyAR Sense. It is used to support AR Engine, AR Foundation, or head-mounted displays, and can also be used to define your own frame source.

You can implement a custom camera by inheriting from some subtypes of ExternalFrameSource, but you cannot directly inherit from ExternalFrameSource. A custom camera typically represents a new device or a new way of data input.

When using trial products (Personal Edition license, Trial XR license, or Trial Mega service, etc.) with a custom camera or head-mounted display, EasyAR Sense will stop responding after a fixed, limited time following each startup.

ExternalImageStreamFrameSource

An external frame source that only receives image stream input.

This frame source is not a motion tracking device and will not output motion data in ARSession.

You can implement a custom camera with only image input by inheriting from it; it cannot be used to implement head-mounted display input. You need to obtain images from hardware or other sources (such as a USB-connected Android camera) and input them to EasyAR. EasyAR does not provide the capability to acquire these data, but provides the ability to run EasyAR features after inputting these data into EasyAR.

When using trial products (such as personal edition license, trial edition XR license, or trial edition Mega services) on custom cameras or head-mounted displays, EasyAR Sense will stop responding after a fixed limited time each time it starts.

FixedAddressAPIKeyAccessData

Authentication data for EasyAR cloud services using API Key. For related data, please visit the EasyAR Development Center (https://www.easyar.cn) to obtain it.

FrameFilter

A frame filter represents EasyAR functionality that runs using frame input data.

FramePlayer

Controlseasyar.InputFramePlayerandeasyar.VideoInputFramePlayerin the scene, providing functional extensions in the Unity environment.

It will be used whenFrameSourceisFramePlayeror when 'Frame Player' is selected in the 'Session Validation Tool' of theDiagnosticsControllerinspector in the editor.

FrameRecorder

Controls the easyar.InputFrameRecorder and easyar.VideoInputFrameRecorder of MonoBehaviour in the scene, providing functional extensions in the Unity environment.

It is automatically assembled into Assembly.

enabled can control the start and end of recording.

FrameRecorder.RecordFinishEvent

The event when recording ends. The callback parameter is false when recording fails.

FrameRecorder.RecordStartEvent

Recording start event. The callback parameter is the name of the recorded file.

FrameRecorder.RecordingConfiguration

Recording configuration.

FrameRecorder.RecordingConfiguration.FilePathInfo

File path information. The recorded file path is Path.Combine(Application.persistentDataPath, FolderPath, Name + extension) when Type is PersistentDataPath, and is Path.Combine(FolderPath, Name + extension) when Type is Absolute, where the extension is determined by Format.

FrameSource

A frame-source represents the data source for frame input data, providing image data or both image and motion data.

You can implement custom cameras by inheriting from some subtypes of FrameSource, but you cannot directly inherit from FrameSource. Custom cameras typically represent a new device or a new way of inputting data.

When using trial products (Personal Edition license, trial XR license, or trial Mega Service, etc.) with a custom camera or head-mounted display, EasyAR Sense will stop responding after a fixed, limited time upon each startup.

FrameSourceCamera

The camera that provides frame data in the Frame source.

Image

Image stores image data, used to represent images in memory. Image provides access to raw data in the form of a byte array, and also provides an interface to access information such as width/height. In all versions of EasyAR Sense, you can access image data.

In iOS, you can access it like this ::

#import <easyar/buffer.oc.h> #import <easyar/image.oc.h>

easyar_OutputFrame * outputFrame = [outputFrameBuffer peek]; if (outputFrame != nil) { easyar_Image * i = [[outputFrame inputFrame] image]; easyar_Buffer * b = [i buffer]; char * bytes = calloc([b size], 1); memcpy(bytes, [b data], [b size]); // use bytes here free(bytes); }

In Android, ::

import cn.easyar.*;

OutputFrame outputFrame = outputFrameBuffer.peek(); if (outputFrame != null) { InputFrame inputFrame = outputFrame.inputFrame(); Image i = inputFrame.image(); Buffer b = i.buffer(); byte[] bytes = new byte[b.size()]; b.copyToByteArray(0, bytes, 0, bytes.length); // use bytes here b.dispose(); i.dispose(); inputFrame.dispose(); outputFrame.dispose(); }

ImageHelper

Image Helper Class.

ImageMaterial

Material for rendering Image.

ImageTarget

ImageTarget represents the target of a planar image, which can be tracked by `ImageTracker`_. The values inside ImageTarget need to be filled in through methods like create... before they can be read. Then, after successfully loading into `ImageTracker`_ via `ImageTracker.loadTarget`_, it can be detected and tracked by `ImageTracker`_.

ImageTargetController

Controls the ImageTarget in the scene, providing functional extensions in the Unity environment. After successful loading, you can use Target to access target data.

The data of the target is loaded separately. Loading occurs after the session starts successfully. It will only be fully loaded once in the lifecycle. If loading is interrupted halfway when the session stops, it will reload when the session starts next time.

ImageTargetController.ImageFileSourceData

Create the image data for the target.

ImageTargetController.SourceData

Create data for target.

ImageTargetController.TargetDataFileSourceData

Create target data for targets. The target name and scale are defined in the etd file.

ImageTargetController.TargetSourceData

Create target'sImageTargetdata.

ImageTargetController.Texture2DSourceData

Creates the target's Texture2D data.

ImageTargetParameters

ImageTargetParameters represents the parameters required to create an `ImageTarget`.

ImageTrackerFrameFilter

Controls the easyar.ImageTracker of MonoBehaviour in the scene, providing functional extensions in the Unity environment.

InertialCameraDeviceFrameSource

Controlseasyar.InertialCameraDevicein the scene, providing functional extensions in the Unity environment.

This frame source is a 5DOF (rotation + horizontal displacement) tracking device, outputting motion data withinARSession.

InputFrame

Input frame. Contains image, camera parameters, timestamp, camera transform relative to world coordinate system, and tracking status. Among these, camera parameters, timestamp, camera transform relative to world coordinate system, and tracking status are optional, but specific algorithm components may have specific requirements for the input.

MegaLandmarkFilterResponse

The response to the Mega Landmark filter request.

MegaLandmarkFilterWrapper

Mega Landmark VPS cloud-based location filtering feature.

MegaLocalizationResponse

Response to Mega positioning request.

MegaRequestTimeParameters

Mega request time parameter.

MegaTrackerFrameFilter

Controls the easyar.MegaTracker in the scene, providing functional extensions in the Unity environment.

MotionInputData

Motion input data. Includes timestamp, transformation relative to the world coordinate system, and tracking status.

MotionTrackerFrameSource

Controls the easyar.MotionTrackerCameraDevice in the scene, providing functional extensions within the Unity environment.

This frame source is a motion-tracking device that outputs motion data in the ARSession.

ObjectTarget

ObjectTarget represents a 3D object target, which can be tracked by `ObjectTracker`. The size of ObjectTarget is determined by the `obj` file. You can modify the size by changing the `scale`. The default `scale` is 1. After ObjectTarget is successfully loaded into `ObjectTracker` via `ObjectTracker.loadTarget`, it can be detected and tracked by `ObjectTracker`.

ObjectTargetController

Controls the ObjectTarget of MonoBehaviour, providing feature extensions in the Unity environment. After successful loading, you can use Target to access target data.

Target data is loaded separately. Loading occurs after the session starts successfully. It will only be fully loaded once in the lifecycle. If the session stops during loading, it will be reloaded after the next session starts.

ObjectTargetController.ObjFileSourceData

Create the obj file data for the target.

ObjectTargetController.SourceData

Create data for target.

ObjectTargetController.TargetSourceData

Create the target's ObjectTarget data.

ObjectTargetParameters

ObjectTargetParameters represents the parameters needed to create an `ObjectTarget`_.

ObjectTrackerFrameFilter

Controls the easyar.ObjectTracker in the scene, providing feature extensions in the Unity environment.

PicoFrameSource

Connects Pico's output to EasyAR's input as a custom frame source within the scenario. Provides Pico support via EasyAR Sense's custom camera functionality.

This frame source is a motion-tracking device that outputs motion data in an ARSession.

The ``PICO Unity Integration SDK`` is required to use this frame source. You need to configure the PICO Unity Integration SDK according to the official documentation.

PoseUtility
RefBase
RokidFrameSource

Connects Rokid's output to EasyAR's input as a custom frame source in the scene. Provides Rokid support through EasyAR Sense's custom camera capabilities.

This frame source is a motion-tracking device that outputs motion data within the ARSession.

To use this frame source, the ``Rokid Unity OpenXR Plugin (com.rokid.openxr)`` is required. You need to configure the Rokid Unity OpenXR Plugin according to the official documentation.

SenseLibrary

A tool to obtain EasyAR Sense library information.

ServiceAccessData

EasyAR cloud service authentication data.

SessionReport

Session report. Used to query component availability or session loss reasons, etc.

SessionReport.AvailabilityReport

Availability report.

SessionReport.AvailabilityReport.DeviceListDownloadResult

Device list download result.

SessionReport.AvailabilityReport.Item

Availability Project.

SessionReport.SessionBrokenException

Session corruption specific exception.

SparseSpatialMapBuildTargetController

Controls the map generated by easyar.SparseSpatialMap for MonoBehaviour in the scene.

SparseSpatialMapBuilderFrameFilter

Aeasyar.SparseSpatialMap-controllingMonoBehaviour in the scene, providing theeasyar.SparseSpatialMap mapping functionality.

SparseSpatialMapController

The MonoBehaviour of the map tracked by easyar.SparseSpatialMap in the scene.

SparseSpatialMapController.MapManagerSourceData

The source of MapManager for creating the map.

SparseSpatialMapController.SourceData

Create data for target.

SparseSpatialMapController.SparseSpatialMapInfo

Sparse map information.

SparseSpatialMapPointCloudRenderer

Render sparse spatial map point cloud as particles.

SparseSpatialMapPointCloudRenderer.PointCloudParticleParameter

Parameters for rendering point cloud particles.

SparseSpatialMapTrackerFrameFilter

Controls the easyar.SparseSpatialMap of MonoBehaviour in the scene, providing the localization and tracking functionality of easyar.SparseSpatialMap.

SparseSpatialMapWorkerFrameFilter

Controls the easyar.SparseSpatialMap in the scene, providing functional extensions in the Unity environment.

SurfaceTargetController

Controls the surface target's MonoBehaviour in the scene. The surface target is a virtual node that represents the relative node for camera movement in surface tracking.

SurfaceTrackerFrameFilter

Controlseasyar.SurfaceTrackerin the Scene, providing functional extensions within the Unity environment.

Target

Target is the base class for all targets that can be tracked by `ImageTracker`_ or other algorithms in EasyAR.

TargetController

Controls the tracking target in the scene MonoBehaviour, providing functional extensions in the Unity environment.

ThreeDofCameraDeviceFrameSource

A MonoBehaviour that controls the 3DOF camera device (ThreeDofCameraDeviceFrameSource) in the scene, providing functional extensions in the Unity environment.

This frame source is a 3DOF rotation tracking device, outputting rotation data within the ARSession.

TokenAccessData

Authentication data for EasyAR cloud service using token. For related data, please visit the EasyAR Developer Center (https://www.easyar.cn) to obtain.

UnityPackage

Tool for obtaining package information.

VideoRecorder

Controls the Recorder in the scene, providing functional extensions within the Unity environment.

Users have full control over video recording content. Screen recording does not silently capture the screen or camera output. Video data must be continuously passed in via RecordFrame(RenderTexture).

Note: Only available in non-enterprise Sense, on Android GLES2/3 with multi-threaded rendering disabled.

VideoRecorder.AudioProfiles

Audio configuration.

VideoRecorder.VideoProfiles

Video configuration.

VisionOSARKitFrameSource

AMonoBehaviour that controls the VisionOS ARKit camera device (easyar.VisionOSARKitCameraDevice) in the scene, providing functional extensions within the Unity environment.

This frame-source is a motion-tracking device, outputting motion data within the ARSession.

When using trial products (Personal license, trial XR license, or trial Mega service, etc.) on custom cameras or head-mounted displays, EasyAR Sense will cease responding after a fixed, limited time upon each startup.

XREALFrameSource

Controls the XREAL camera device (easyar.XREALCameraDevice) in the scene, providing functional extensions within the Unity environment.

This frame source is a motion-tracking device that outputs motion data in the ARSession.

When using trial products (Personal license, trial XR license, or trial Mega service) on custom cameras or head-mounted displays, EasyAR Sense will stop responding after a fixed limited time upon each startup.

XROriginChildController

The root node serving as the controlled child of the XROrigin within the sceneMonoBehaviour. If this node isn't manually set within the scene, it will be automatically created when required.

XROrigin is a virtual node representing the relative reference point for camera movement within a motion-tracking system. It will be automatically selected or created. If a Unity XR framework XROrigin exists, it will be chosen.

Structs

ARSessionFactory.FrameSourceSortMethod

Sorting method for the frame source.

BlockInfo

The model obtained through dense reconstruction is represented using a triangular mesh, referred to as a mesh. Since the mesh undergoes frequent updates, to ensure efficiency, the entire reconstructed model's mesh is partitioned into numerous mesh blocks. A mesh block consists of a cube with an edge length of approximately 1 meter, containing elements such as vertices and indices.

 BlockInfo describes the content of a mesh block. The (x,y,z) values represent the indices of the mesh block. Multiplying (x,y,z) by the physical size of each mesh block yields the origin coordinates of this mesh block in the world coordinate system. The required display sections can be pre-filtered based on the position of the mesh block in the world to save rendering time.
 </p>
Matrix33F

third-order square matrix. data is arranged in row-major order.

Matrix44F

fourth-order square matrix. The data arrangement is row-major.

Optional<T>
ProximityLocationResult

Nearby position readings.

 Units for x,y,z are meters. The origin is the tile origin. y is upward.
 Units for accuracy are meters.
 Units for timestamp,validTime are seconds.
 is2d indicates whether y is not used.
 </p>
Unit
Vec2F

2D float vector.

Vec2I

Two-dimensional int vector.

Vec3F

3D float vector.

Vec4F

four-dimensional float vector.

Interfaces

IDisplay

Display device interface.

Enums

ARCoreCameraDeviceFocusMode
AREngineCameraDeviceFocusMode
ARKitCameraDeviceFocusMode
ARSession.ARCenterMode

AR center mode.

*Note: There are a total of four center modes in the EasyAR Sense Unity Plugin. In other AR frameworks like AR Foundation, similar concepts may not exist, and the behavior of relative relationships between objects there is usually consistent with the *SessionOrigin*mode here.*

The relative transform between theCameraand some AR components is controlled by the session. One object is called theCenterObject; it remains stationary in the scene, while other objects move relative to thisCenterObject. This object is selected based on the value ofCenterMode.

CenterObject represents the object or its parent node that does not move in Unity space. It could be theOrigin, theCamera, or a specific `target`. A `Target` can be an object containing components likeTargetControllerorBlockRootController. When using sparse spatial maps and EasyAR Mega, the actual centerGameObjectis the specifically located map or block object under the root node, and theCenterObject is the parent of this object.

InFirstTarget or SpecificTargetmode, when a `target` is not recognized or lost in a frame, theCenterObject may become another `target`. If no `target` is found within the frame, theCenterObject will fall back to the center of the first available mode in the order ofSessionOriginandCamera.

The relative positional relationship between the `Target` and theCamerais controlled by the current session. The relative positional relationship between theOrigin and theCamera is also controlled by the current session whenIsCameraUnderControl is true. WhenIsCameraUnderControl is false, it is not controlled by the current session and is usually controlled by other AR frameworks like AR Foundation.

ARSession.ARHorizontalFlipMode

Horizontal mirror rendering mode.

In the horizontal flip state, the camera image will be mirrored. To ensure normal object tracking, it also affects the rendering of 3D objects, so two different methods are provided. Horizontal flipping only works under object perception algorithms, such as image tracking or object tracking.

ARSession.SessionState

The state of the session.

ARSessionFactory.ARSessionPreset

ARSession preset.

ARSessionFactory.FrameSourceSortMethod.ARCoreSortMethod

Sorting method for ARCore/ARCoreARFoundation frame source.

ARSessionFactory.FrameSourceSortMethod.ARKitSortMethod

Sorting method for ARKit/ARKitARFoundation frame source.

ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod

Sorting method for EasyAR motion tracker/System SLAM (ARCore, ARKit, AREngine) frame source.

ActiveController.Strategy

activeSelfControl strategy.

AndroidCameraApiType
AssembleOptions.FrameFilterSelection

Select the selection strategy for FrameFilter.

AssembleOptions.FrameSourceSelection

Select the selection strategy for FrameSource.

AxisSystemType

Coordinate system type.

CameraDeviceDisplay.DisplayMode

View mode.

CameraDeviceFocusMode
CameraDeviceFrameSource.CameraDeviceOpenMethod

easyar.CameraDeviceOpening method.

CameraDevicePreference
CameraDeviceType

Camera device type.

CameraModelType

Camera-model type.

CameraState
CameraTransformType

Camera transformation type.

CloudRecognizationStatus
CloudRecognizerFrameFilter.ServiceAccessSourceType

Service access data source type.

DiagnosticsController.DeveloperModeSwitchType

Developer mode switch type.

DiagnosticsController.MessageOutputMode

Message output mode.

DiagnosticsController.SessionDumpOutputMode

Session state dump output mode.

DisplayEmulator.RotationMode

Rotation mode.

EasyARSettings.ARCoreType

ARCore SDK configuration.

EasyARSettings.AREngineType

AREngine SDK configuration.

EasyARSettings.LibVariantConfig.AndroidVariant

EasyAR Sense Android library variant.

EasyARSettings.LibVariantConfig.IOSVariant

EasyAR Sense iOS library variant.

ExternalDeviceFrameSource.DeviceOriginType

Device origin type.

session origin is used to set the transform reference point in SessionOrigin center mode, and is also used to transform the camera-origin pair simultaneously in other center modes. If your SDK is designed based on the Unity XR framework, you will be familiar with XR.CoreUtils.XROrigin. Origin is analogous to XR.CoreUtils.XROrigin, where the rendering camera is its child node. Users can move the origin within the scene without losing the local motion relationship defined by the camera-origin pair. EasyAR utilizes the camera-origin pair to handle target center mode, which is particularly useful when running Mega, as Mega defines the real-world coordinate system for the entire Earth, while the camera-origin pair typically defines the VIO coordinate system relative to a starting point.

FrameRecorder.InternalFormat

Internal data format.

FrameRecorder.RecorderStatus

Recording status.

ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API Type.

MegaInputFrameLevel

When using the Mega function, the equivalent of the input frame CameraTransformType equivalent degrees of freedom.

MegaLandmarkFilterStatus
MegaLocationInputMode

Mega location input mode.

MegaServiceAccessSourceType

Mega service access data source type.

MegaTrackerLocalizationStatus
MotionTrackerCameraDeviceFPS
MotionTrackerCameraDeviceFocusMode
MotionTrackerCameraDeviceQualityLevel
MotionTrackerCameraDeviceResolution
MotionTrackerCameraDeviceTrackingMode
MotionTrackingStatus

Describes the quality of device motion tracking.

OptionalTag
PathType

Path Type.

PermissionStatus
PixelFormat

PixelFormat represents the image pixel format. The pixel orientation for all formats is from left to right and top to bottom.

SessionReport.AvailabilityReport.AvailabilityStatus

Availability status.

SessionReport.AvailabilityReport.DeviceListDownloadStatus

The status of the download list.

SessionReport.AvailabilityReport.DeviceListDownloadType

The component type of the download list.

SessionReport.SessionBrokenReason

Reasons for session damage.

SparseSpatialMapWorkerFrameFilter.ServiceAccessSourceType

Service access data source type.

StorageType

StorageType represents the storage location for images, JSON files, videos, or other files. StorageType specifies the root directory for file storage, and you can use relative paths relative to this root directory in all related interfaces.

ThreeDofCameraDeviceFocusMode
VideoRecorder.RecordProfile

Video configuration

VideoRecorder.RecordZoomMode

Video scaling mode.

VideoRecorder.VideoOrientation

Screen recording video orientation.

VideoRecorder.VideoSize

Video size.

WritablePathType

File output path type.