Table of Contents

Namespace easyar

Classes

APIExtend

Extends the EasyAR Sense API and Unity API to provide convenience for operations such as data conversion.

APIKeyAccessData

EasyAR cloud service authentication data using an API Key. For related data, visit EasyAR Developer Center (https://www.easyar.cn).

ARAssembly

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

ARCoreARFoundationFrameSource

A custom frame source that connects AR Foundation ARCore output to EasyAR input in the scene. It provides AR Foundation support through the custom camera feature of EasyAR Sense.

This frame source is a motion tracking device and 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

A MonoBehaviour that controls the ARCore camera device (easyar.ARCoreCameraDevice) in the scene and provides functional extensions in the Unity environment.

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

AREngineFrameSource

A custom frame source that connects the output of the AREngine camera device in the scene to EasyAR input. It provides Huawei AR Engine support through the custom camera feature of EasyAR Sense.

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

This frame source does not use ``Huawei AR Engine Unity SDK`` and it does not need to be added.

ARFoundationFrameSource

A custom frame source that connects AR Foundation output in the scene to EasyAR input. It provides AR Foundation support through the custom camera feature of EasyAR Sense.

This frame source is a motion tracking device and 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.

ARKitARFoundationFrameSource

A custom frame source that connects AR Foundation ARKit output to EasyAR input in the scene. It provides AR Foundation support through the custom camera feature of EasyAR Sense.

This frame source is a motion tracking device and 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.

ARKitFrameSource

A MonoBehaviour that controls the ARKit camera device (easyar.ARKitCameraDevice) in the scene and provides functional extensions in the Unity environment.

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

ARSession

A MonoBehaviour that controls an AR session in the scene. A session contains a group of components assembled into ARAssembly and controls the data flow of the entire lifecycle. This component is the entry point for AR. Multiple active instances are not allowed at the same time.

All functions of EasyAR components can be used only after StartSession().

The relative transform between Camera and some AR components is controlled by session. One of the objects is called CenterObject; it stays still in the scene, and other objects move relative to this CenterObject. This object is selected according to the value of CenterMode. For more details, see the description of ARSession.ARCenterMode.

ARSession.FlipOptions

Mirror rendering options.

ARSessionFactory

ARSession factory.

ARSessionFactory.Resources

Resources required to create corresponding components.

ActiveController

A MonoBehaviour that manages activeSelf.

The default strategies are: TargetController uses ActiveWhileTracked by default, and XROriginChildController uses ActiveAfterFirstTracked by default.

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

AppSecretAccessData

EasyAR cloud service authentication data using an App Secret. For related data, visit EasyAR Developer Center (https://www.easyar.cn).

AssembleOptions

Assembly options for ARSession.

AssembleOptions.DeviceListDownload

Device list download options.

Buffer

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

BufferDictionary

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

BufferPool

BufferPool implements a memory pool. It can be used for features that repeatedly allocate memory of the same size, such as custom camera access, reducing time spent on memory allocation.

CameraDeviceDisplay

Display for a regular camera. You can simulate screen rotation in the Unity Editor or on PC to meet special screen placement requirements.

CameraDeviceFrameSource

A MonoBehaviour that controls easyar.CameraDevice in the scene and provides functional extensions in the Unity environment.

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

CameraImageRenderer

A MonoBehaviour that controls camera image rendering in the scene. It is valid only when the session frame source IsCameraUnderControl 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 natural orientation.

CloudLocalizerFrameFilter

A MonoBehaviour that controls easyar.CloudLocalizer in the scene and provides functional extensions in the Unity environment.

In most cases, MegaTrackerFrameFilter should be used.

CloudRecognizationResponse

Response to a recognition request.

CloudRecognizerFrameFilter

A MonoBehaviour that controls easyar.CloudRecognizer in the scene and provides functional extensions in Unity.

DenseSpatialMapBlockController

MonoBehaviour that controls map mesh blocks generated by easyar.DenseSpatialMap in the scene.

DenseSpatialMapBuilderFrameFilter

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

DeviceFrameSourceCamera

Device camera that provides camera frame data in a frame source.

DeviceFrameSourceCamera.CameraExtrinsics

Camera extrinsics, generally a calibration matrix, expressing the physical offset of the camera relative to the device/head pose origin.

DiagnosticsController

Diagnostics controller for the current ARSession. Let it be your development partner, not the first component you turn off.

DiagnosticsController.MessageOutputOptions

Message output options.

Display

Display device.

DisplayEmulator

Rotation emulator.

EasyARCameraImageRendererFeature

Render feature used to render AR device camera images when using URP. This render feature must be added to the renderer feature list of the forward renderer asset.

EasyARController

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

EasyARSettings

Configuration information for the EasyAR Sense Unity Plugin.

EasyARSettings.LibVariantConfig

EasyAR Sense library variant configuration.

EasyARSettings.Permission

Permission configuration.

EasyARSettings.TargetGizmoConfig

Gizmos configuration for Target.

EasyARSettings.TargetGizmoConfig.ImageTargetConfig

ImageTarget Gizmos configuration.

EasyARSettings.TargetGizmoConfig.ObjectTargetConfig

ObjectTarget Gizmos configuration.

EasyARSettings.UnityXROptions

Configuration options related to Unity XR Framework.

EasyARSettings.UnityXROptions.AutoSwitchOptions

Options for automatically switching Unity XR objects, such as AR Foundation objects.

EasyARSettings.UnityXROptions.AutoSwitchOptions.EditorOptions

Edit mode options.

EasyARSettings.UnityXROptions.AutoSwitchOptions.PlayerOptions

Runtime mode options.

EasyARSettings.Workaround

Workaround for Unity.

EditorCameraDeviceFrameSource

A MonoBehaviour that controls an easyar.CameraDevice in the editor, provided only for development diagnostics. Usually, when this frame source is used, all effects you see are different from running on a device. You can use it to develop application logic unrelated to AR effects, but you cannot use it to judge AR runtime effects such as detection, tracking, or localization.

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 key diagnostic information to EED files. All members of this class are thread-safe.

ExplicitAddressAccessData

EasyAR cloud service authentication data that requires an access address.

ExternalDeviceFrameSource

A frame source representing an external device. It usually represents a head-mounted device, where camera rendering and device tracking are both completed by the device SDK.

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

When using trial products, such as a Personal Edition license, trial XR license, or trial Mega service, on a custom camera or headset, EasyAR Sense will stop responding for a fixed limited time after each startup.

ExternalDeviceMotionFrameSource

A frame source representing an external device with motion tracking capability. It usually represents a head-mounted device, where camera rendering and device tracking are both completed by the device SDK.

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

You can inherit from it to implement device input such as a headset, but you must implement motion tracking yourself. EasyAR motion tracking cannot be used directly on external devices. You need to obtain image and pose data yourself from hardware or elsewhere and input them to EasyAR. EasyAR does not provide the ability to acquire this data, but does provide the ability to run EasyAR features after the data is input to EasyAR.

When trial products, such as a personal license, trial XR license, or trial Mega service, are used on a custom camera or headset, EasyAR Sense will stop responding for a fixed limited time after each startup.

ExternalDeviceRotationFrameSource

A frame source representing an external device with 3DOF rotation tracking capability. It usually represents a head-mounted device, where camera rendering and device tracking are both completed by the device SDK.

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

You can inherit from it to implement device input such as a headset, but you must implement tracking yourself. EasyAR 3DOF rotation tracking cannot be used directly on external devices. You need to obtain image and rotation data yourself from hardware or elsewhere and input them to EasyAR. EasyAR does not provide the ability to acquire this data, but does provide the ability to run EasyAR features after the data is input to EasyAR.

When trial products, such as a personal license, trial XR license, or trial Mega service, are used on a custom camera or headset, EasyAR Sense will stop responding for a fixed limited time after each startup.

ExternalFrameSource

An external frame source represents a frame source that is not built into EasyAR Sense. It is used to support AR Engine, AR Foundation, or headsets, 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 inherit directly from ExternalFrameSource. A custom camera usually represents a new device or a new data input method.

When using trial products, such as a Personal Edition license, trial XR license, or trial Mega service, on a custom camera or headset, EasyAR Sense will stop responding for a fixed limited time after each startup.

ExternalImageStreamFrameSource

An external frame source that only receives image stream input.

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

You can inherit from it to implement a custom camera with image input only. It cannot be used to implement headset input. You need to obtain images yourself from hardware or elsewhere, such as a USB-connected Android camera, and input them to EasyAR. EasyAR does not provide the ability to acquire this data, but does provide the ability to run EasyAR features after the data is input to EasyAR.

When trial products, such as a personal license, trial XR license, or trial Mega service, are used on a custom camera or headset, EasyAR Sense will stop responding for a fixed limited time after each startup.

FixedAddressAPIKeyAccessData

EasyAR cloud service authentication data using an API Key. For related data, visit EasyAR Developer Center (https://www.easyar.cn).

FrameFilter

A frame filter represents an EasyAR feature that runs using frame input data.

FramePlayer

A MonoBehaviour that controls easyar.InputFramePlayer and easyar.VideoInputFramePlayer in the scene and provides functional extensions in the Unity environment.

It is used when FrameSource is FramePlayer, or when "Frame Player" is selected in "Session Validation Tool" of the DiagnosticsController inspector in the editor.

FrameRecorder

A MonoBehaviour that controls easyar.InputFrameRecorder and easyar.VideoInputFrameRecorder in the scene and provides functional extensions in the Unity environment.

It will be automatically assembled into Assembly.

enabled can control recording start and stop.

FrameRecorder.RecordFinishEvent

Recording finish event. The callback parameter is false when recording fails.

FrameRecorder.RecordStartEvent

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

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 Path.Combine(FolderPath, Name + extension) when Type is Absolute. extension is determined by Format.

FrameSource

A frame source represents the data source of frame input data. It provides image data, or image data together with motion data.

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

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

FrameSourceCamera

The camera that provides camera frame data in a frame source.

Image

Image stores image data and is used to represent an image in memory. Image provides access to raw data as a byte array, and also provides interfaces for accessing information such as width/height. In all versions of EasyAR Sense, you can access image data. On iOS, you can access it like this :: #import #import 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); } On 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 used to render Image.

ImageTarget

ImageTarget represents a target for a planar image, which can be tracked by `ImageTracker`_. Values in ImageTarget must first be filled by create... methods before they can be read. Then, after it is successfully loaded into `ImageTracker`_ through `ImageTracker.loadTarget`_, it can be detected and tracked by `ImageTracker`_.

ImageTargetController

A MonoBehaviour that controls ImageTarget in the scene, providing functional extensions in the Unity environment. After loading succeeds, target data can be accessed through Target.

The target data is loaded separately. Loading occurs after the session starts successfully, and a complete load happens only once during the lifecycle. If the session stops halfway through loading, it will load again after the next session startup.

ImageTargetController.ImageFileSourceData

Image data for creating a target.

ImageTargetController.SourceData

Data for creating target.

ImageTargetController.TargetDataFileSourceData

target data for creating a target. Target name and scale are defined in the etd file.

ImageTargetController.TargetSourceData

Data for creating an ImageTarget target.

ImageTargetController.Texture2DSourceData

Texture2D data for creating a target.

ImageTargetParameters

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

ImageTrackerFrameFilter

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

InertialCameraDeviceFrameSource

A MonoBehaviour that controls the InertialCameraDevice (InertialCameraDeviceFrameSource) in the scene and provides functional extensions in the Unity environment.

This frame source is a 5DOF (rotation + horizontal displacement) tracking device and outputs data in ARSession.

InputFrame

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

MegaBlockController

A MonoBehaviour for a block tracked by MegaCloudFrameFilter in the scene.

Only when the service contains data for the corresponding block ID, and the MegaBlockController is correct and loaded into MegaCloudFrameFilter, can it be used normally in ARSession and display content correctly.

MegaBlockController.BlockInfo

Block information.

MegaBlockController.BlockInfoSourceData

Information source for creating a block.

MegaBlockController.SourceData

Data for creating target.

MegaCloudFrameFilter

A MonoBehaviour that controls Mega cloud service components in the scene.

MegaGoBlockController

MonoBehaviour for a block tracked by MegaGoTrackerFrameFilter in the scene.

MegaGoBlockController.BlockInfo

Block information.

MegaGoBlockController.FileSourceData

File data for creating a target.

MegaGoBlockController.SourceData

Data for creating target.

MegaGoTrackerFrameFilter

A MonoBehaviour that controls easyar.MegaGoTracker in the scene and provides functional extensions in the Unity environment.

MegaGoTrackerLocalizationResponse

MegaGoTracker localization response.

MegaLandmarkFilterResponse

Response to a Mega Landmark filter request.

MegaLandmarkFilterWrapper

Mega Landmark VPS cloud localization filtering feature.

MegaLocalizationResponse

Response to a Mega localization request.

MegaRequestTimeParameters

Mega request time parameters.

MegaTrackerFrameFilter

A MonoBehaviour that controls easyar.MegaTracker in the scene and provides functional extensions in the Unity environment.

MetaXRFrameSource

Custom frame source that connects Meta XR output to EasyAR input in the scene. Provides Meta XR support through the custom camera feature of EasyAR Sense.

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

To use this frame source, Meta MRUK (Mixed Reality Utility Kit) is required. Configure Meta MRUK according to the official documentation.

MotionInputData

Motion input data. Contains the timestamp, transform relative to the world coordinate system, and tracking status.

MotionTrackerFrameSource

A MonoBehaviour that controls easyar.MotionTrackerCameraDevice in the scene and provides functional extensions in the Unity environment.

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

ObjectTarget

ObjectTarget represents a 3D object target, which can be tracked by `ObjectTracker`_. The size of ObjectTarget is determined by the `obj` file. The size can be changed by modifying `scale`. `scale` defaults to 1. After ObjectTarget is successfully loaded into `ObjectTracker`_ through `ObjectTracker.loadTarget`_, it can be detected and tracked by `ObjectTracker`_.

ObjectTargetController

A MonoBehaviour that controls ObjectTarget in the scene, providing functional extensions in the Unity environment. After loading succeeds, target data can be accessed through Target.

The target data is loaded separately. Loading occurs after the session starts successfully, and a complete load happens only once during the lifecycle. If the session stops halfway through loading, it will load again after the next session startup.

ObjectTargetController.ObjFileSourceData

Obj file data for creating a target.

ObjectTargetController.SourceData

Data for creating target.

ObjectTargetController.TargetSourceData

Data for creating an ObjectTarget target.

ObjectTargetParameters

ObjectTargetParameters represents the parameters required to create `ObjectTarget`_.

ObjectTrackerFrameFilter

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

PicoFrameSource

A custom frame source that connects Pico output to EasyAR input in the scene. It provides Pico support through the custom camera feature of EasyAR Sense.

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

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

PoseUtility
RefBase
RokidFrameSource

A custom frame source that connects Rokid output to EasyAR input in the scene. It provides Rokid support through the custom camera feature of EasyAR Sense.

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

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

SenseLibrary

Tool for getting EasyAR Sense library information.

ServiceAccessData

EasyAR cloud service authentication data.

SessionReport

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

SessionReport.AvailabilityReport

Availability report.

SessionReport.AvailabilityReport.DeviceListDownloadResult

Device list download result.

SessionReport.AvailabilityReport.Item

Availability item.

SessionReport.SessionBrokenException

Specific exception for session corruption.

SparseSpatialMapBuildTargetController

A MonoBehaviour that controls the map generated by easyar.SparseSpatialMap in the scene.

SparseSpatialMapBuilderFrameFilter

A easyar.SparseSpatialMap MonoBehaviour controlled in the scene, providing map building for easyar.SparseSpatialMap.

SparseSpatialMapController

A MonoBehaviour for a map tracked by easyar.SparseSpatialMap in the scene.

SparseSpatialMapController.MapManagerSourceData

MapManager source for creating a map.

SparseSpatialMapController.SourceData

Data for creating target.

SparseSpatialMapController.SparseSpatialMapInfo

Sparse map information.

SparseSpatialMapPointCloudRenderer

Renders sparse spatial map point clouds as particles.

SparseSpatialMapPointCloudRenderer.PointCloudParticleParameter

Parameters for rendering point cloud particles.

SparseSpatialMapTrackerFrameFilter

A MonoBehaviour that controls easyar.SparseSpatialMap in the scene and provides localization tracking for easyar.SparseSpatialMap.

SparseSpatialMapWorkerFrameFilter

A MonoBehaviour that controls easyar.SparseSpatialMap in the scene and provides functional extensions in Unity.

SurfaceTargetController

A MonoBehaviour that controls a surface target in the scene. A surface target is a virtual node that represents the node relative to which the camera moves in surface tracking.

SurfaceTrackerFrameFilter

A MonoBehaviour that controls easyar.SurfaceTracker in the scene and provides functional extensions in Unity.

Target

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

TargetController

MonoBehaviour that controls a tracking target in the scene and provides feature extensions in the Unity environment.

ThreeDofCameraDeviceFrameSource

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

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

TokenAccessData

EasyAR cloud service authentication data using a token. For related data, visit EasyAR Developer Center (https://www.easyar.cn).

UnityPackage

Tool for getting package information.

VideoRecorder

A MonoBehaviour that controls Recorder in the scene and provides functional extensions in the Unity environment.

Users have full control over the content recorded in the video. The screen recording feature does not silently record the screen or camera output; recorded video data must be continuously passed in through RecordFrame(RenderTexture).

Note: Available only in non-Enterprise Sense on Android GLES2/3 with multithreaded rendering disabled.

VideoRecorder.AudioProfiles

Audio profile.

VideoRecorder.VideoProfiles

Video profile.

VisionOSARKitFrameSource

A MonoBehaviour that controls the VisionOS ARKit camera device (easyar.VisionOSARKitCameraDevice) in the scene and provides functional extensions in the Unity environment.

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

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

XREALFrameSource

A MonoBehaviour that controls the XREAL camera device (easyar.XREALCameraDevice) in the scene and provides functional extensions in the Unity environment.

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

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

XROriginChildController

A root-node MonoBehaviour for XROrigin child objects that need to be controlled in the scene. If this node is not manually set in the scene, it will be created automatically when needed.

XROrigin is a virtual node that represents the node relative to which the camera moves in the motion tracking system. It will be selected or created automatically. If the XROrigin of the Unity XR framework exists, it will be selected.

Structs

ARSessionFactory.FrameSourceSortMethod

Sorting method for frame source.

BlockInfo

The model obtained by dense reconstruction is represented by a triangle mesh, called mesh. Because mesh is updated frequently, to ensure efficiency, the mesh of the entire reconstructed model is divided into many mesh blocks. A mesh block consists of a cube with side length of about 1 meter, containing elements such as vertex and index.

BlockInfo describes the contents of a mesh block. Here (x,y,z) is the index of the mesh block. Multiplying (x,y,z) by the physical size of each mesh block gives the coordinates of the origin of this mesh block in the world coordinate system. The parts that need to be displayed can be filtered in advance by the position of the mesh block in the world to save rendering time.
</p>
LocationResult

Location reading. latitude and longitude are in degrees. altitude is in meters. horizontalAccuracy is horizontal accuracy, in meters. verticalAccuracy is gravity-direction accuracy, in meters.

Matrix33F

Third-order square matrix. Data is arranged in row-major order.

Matrix44F

Fourth-order square matrix. Data is arranged in row-major order.

Optional<T>
ProximityLocationResult

Proximity location reading. x, y, and z are in meters. The origin is the map block origin. y is upward. accuracy is in meters. timestamp and validTime are in seconds. is2d indicates whether y is not used.

Unit
Vec2F

Two-dimensional float vector.

Vec2I

Two-dimensional int vector.

Vec3F

Three-dimensional float vector.

Vec4F

Four-dimensional float vector.

Interfaces

IDisplay

Display device interface.

Enums

ARCoreCameraDeviceFocusMode
AREngineCameraDeviceFocusMode
ARKitCameraDeviceFocusMode
ARSession.ARCenterMode

AR center mode.

*Note: There are four center modes in EasyAR Sense Unity Plugin. Similar concepts may not exist in other AR frameworks such as AR Foundation; usually, the relative relationship behavior between objects in those frameworks is consistent with the *SessionOrigin* mode here.*

The relative transform between Camera and some AR components is controlled by session. One of the objects is called CenterObject; it stays still in the scene, and other objects move relative to this CenterObject. This object is selected according to the value of CenterMode.

CenterObject represents the object that does not move in Unity space, or the parent node of that object. It may be Origin, Camera, or a `target`. A `Target` can be an object containing the TargetController component. When using Sparse Spatial Map and EasyAR Mega, the actual center GameObject is the specific localized map or block object under the root node, and CenterObject is the parent node of this object.

In FirstTarget or SpecificTarget mode, when a `target` is not recognized or is lost in a frame, CenterObject may become another `target`. If no `target` can be found in the frame, CenterObject degrades in order to the center of the first available mode among SessionOrigin and Camera.

The relative position relationship between `Target` and Camera is controlled by the current session. The relative position relationship between Origin and Camera is also controlled by the current session when IsCameraUnderControl is true. When IsCameraUnderControl is false, it is not controlled by the current session and is usually controlled by another AR framework such as AR Foundation.

ARSession.ARHorizontalFlipMode

Horizontal mirror rendering mode.

In the horizontal flip state, the camera image is displayed mirrored. To ensure object tracking works correctly, it also affects 3D object rendering, so two different methods are provided. Horizontal flip only works with object perception algorithms such as image tracking or object tracking.

ARSession.SessionState

Session state.

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

Control strategy for activeSelf.

AndroidCameraApiType
AssembleOptions.FrameFilterSelection

Selection strategy for choosing FrameFilter.

AssembleOptions.FrameSourceSelection

Selection strategy for choosing FrameSource.

AxisSystemType

Axis system type.

CameraDeviceDisplay.DisplayMode

Display mode.

CameraDeviceFocusMode
CameraDeviceFrameSource.CameraDeviceOpenMethod

Open method for easyar.CameraDevice.

CameraDevicePreference
CameraDeviceType

Camera device type.

CameraModelType

Camera model type.

CameraState
CameraTransformType

Camera transform 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.

EasyARSettings.LibVariantConfig.VisionOSVariant

EasyAR Sense visionOS library variant.

ExternalDeviceFrameSource.DeviceOriginType

Device origin type.

session origin is used to set the transform reference point in SessionOrigin center mode, and to transform the camera-origin pair together 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 something similar to XR.CoreUtils.XROrigin, and the rendering camera is its child node. Users can move origin in the scene without losing the local motion relationship defined by the camera-origin pair. EasyAR uses the camera-origin pair to handle target center mode. This is especially useful when running Mega, because Mega defines a real-world coordinate system for the whole Earth, while the camera-origin pair usually defines a VIO coordinate system relative to a startup point.

FrameRecorder.InternalFormat

Internal data format.

FrameRecorder.RecorderStatus

Recording status.

ImageTrackerMode
InertialCameraDeviceFocusMode
LocalizationMode
LogLevel
MegaApiType

MEGA API type.

MegaGoTargetLoadStatus

Mega Go target load status.

MegaGoTrackerError

MegaGoTracker error.

MegaGoTrackerOutputUpdateStatus

Update status of the MegaGoTracker localization response to the output.

MegaGoTrackerStatus

MegaGoTracker runtime status.

MegaInputFrameLevel

Equivalent degrees of freedom of the input frame, corresponding to the equivalent CameraTransformType, when using Mega features.

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 image pixel formats. For all formats, pixel order is from left to right and from top to bottom.

SessionReport.AvailabilityReport.AvailabilityStatus

Availability status.

SessionReport.AvailabilityReport.DeviceListDownloadStatus

Status of the download list.

SessionReport.AvailabilityReport.DeviceListDownloadType

Component type of the download list.

SessionReport.SessionBrokenReason

Reason for Session corruption.

SparseSpatialMapWorkerFrameFilter.ServiceAccessSourceType

Service access data source type.

StorageType

StorageType indicates where images, json files, videos, or other files are stored. StorageType specifies the root directory where files are stored. You can use relative paths from this root directory in all related interfaces.

ThreeDofCameraDeviceFocusMode
VideoRecorder.RecordProfile

Video profile.

VideoRecorder.RecordZoomMode

Video zoom mode.

VideoRecorder.VideoOrientation

Screen recording video orientation.

VideoRecorder.VideoSize

Video size.

WritablePathType

File output path type.