Google.XR.ARCoreExtensions

Summary

Enumerations

CameraConfigDepthSensorUsage{
  RequireAndUse = 0x0001,
  DoNotUse = 0x0002
}
enum
Type of hardware depth sensor usage for a camera config, such as a time-of-flight (ToF) sensor.
CameraConfigFacingDirection{
  Back = 0,
  Front = 1
}
enum
Facing direction options for camera config.
CameraConfigStereoCameraUsage{
  RequireAndUse = 0x0001,
  DoNotUse = 0x0002
}
enum
Stereo Camera usage options.
CameraConfigTargetFps{
  Target30FPS = 0x0001,
  Target60FPS = 0x0002
}
enum
The camera frame rate filter for the currently selected camera.
CloudAnchorMode{
  Disabled = 0,
  Enabled = 1
}
enum
Defines possible modes for ARCore Cloud Anchors.
CloudAnchorState{
  None,
  TaskInProgress,
  Success,
  ErrorInternal,
  ErrorNotAuthorized,
  ErrorResourceExhausted,
  ErrorHostingDatasetProcessingFailed,
  ErrorResolvingCloudIdNotFound,
  ErrorResolvingPackageTooOld,
  ErrorResolvingPackageTooNew,
  ErrorHostingServiceUnavailable
}
enum
Describes the current state of a ARCloudAnchor.
CloudReferenceState{
  None = CloudAnchorState.None,
  TaskInProgress = CloudAnchorState.TaskInProgress,
  Success = CloudAnchorState.Success,
  ErrorInternal = CloudAnchorState.ErrorInternal,
  ErrorNotAuthorized = CloudAnchorState.ErrorNotAuthorized,
  ErrorResourceExhausted = CloudAnchorState.ErrorResourceExhausted,
  ErrorHostingDatasetProcessingFailed = CloudAnchorState.ErrorHostingDatasetProcessingFailed,
  ErrorResolvingCloudIdNotFound = CloudAnchorState.ErrorResolvingCloudIdNotFound,
  ErrorResolvingPackageTooOld = CloudAnchorState.ErrorResolvingPackageTooOld,
  ErrorResolvingPackageTooNew = CloudAnchorState.ErrorResolvingPackageTooNew,
  ErrorHostingServiceUnavailable = CloudAnchorState.ErrorHostingServiceUnavailable
}
enum Deprecated. Please use CloudAnchorState instead.
Deprecated version of CloudAnchorState.
FeatureMapQuality{
  Insufficient = 0,
  Sufficient = 1,
  Good = 2
}
enum
Indicates the quality of feature points seen by ARCore in the preceding few seconds from a given camera Pose.
PlaybackResult{
  OK,
  SessionNotReady,
  ErrorSessionNotPaused,
  ErrorSessionUnsupported,
  ErrorPlaybackFailed
}
enum
Results from attempting to set playback dataset filepath.
PlaybackStatus{
  None,
  OK,
  IOError,
  FinishedSuccess
}
enum
Describes the current playback status.
RecordingResult{
  OK,
  SessionNotReady,
  ErrorInvalidArgument,
  ErrorRecordingFailed,
  ErrorIllegalState
}
enum
Results from recording methods.
RecordingStatus{
  None,
  OK,
  IOError
}
enum
Describes the current recording status.

Classes

Google.XR.ARCoreExtensions.ARAnchorManagerExtensions

Extensions to AR Foundation's ARAnchorManager class.

Google.XR.ARCoreExtensions.ARCloudAnchor

The ARCloudAnchor is an ARCore Extensions object that provides a similar service to AR Foundation's ARAnchor as an anchor for game objects in your scene.

Google.XR.ARCoreExtensions.ARCloudReferencePoint

Deprecated version of ARCloudAnchor.

Google.XR.ARCoreExtensions.ARCoreExtensions

ARCore Extensions, this script allows an app to specify and provide access to AR Foundation object instances that should be used by ARCore Extensions.

Google.XR.ARCoreExtensions.ARCoreExtensionsCameraConfigFilter

The ARCoreExtensionsCameraConfigFilter class is used by the camera manager to derive a list of camera configurations available on the device at runtime.

Google.XR.ARCoreExtensions.ARCoreExtensionsConfig

Holds settings that are used to configure the ARCore Extensions.

Google.XR.ARCoreExtensions.ARCoreRecordingConfig

Configuration to record camera and sensor data from an ARCore session.

Google.XR.ARCoreExtensions.ARPlaybackManager

Provides access to session playback functionality.

Google.XR.ARCoreExtensions.ARRecordingManager

Provides access to session recording functionality.

Google.XR.ARCoreExtensions.VersionInfo

Provides access to information about the current ARCore Extensions package runtime.

Google.XR.ARCoreExtensions.XRCameraConfigurationExtensions

Extensions to AR Subsystem's XRCameraConfiguration struct.

Google.XR.ARCoreExtensions.XRCameraFrameExtensions

Extensions to AR Subsystem's XRCameraFrame struct.

Structs

Google.XR.ARCoreExtensions.Track

Definition of a track to record on.

Google.XR.ARCoreExtensions.TrackData

Data that was recorded to an external Track.

Enumerations

CameraConfigDepthSensorUsage

 CameraConfigDepthSensorUsage

Type of hardware depth sensor usage for a camera config, such as a time-of-flight (ToF) sensor.

Properties
DoNotUse

Indicates that ARCore will not attempt to use a hardware depth sensor, such as a time-of-flight sensor (or ToF sensor), even if it is present.

Most commonly used to filter camera configurations when the app requires exclusive access to the hardware depth sensor outside of ARCore, for example to support 3D mesh reconstruction. Available on all ARCore supported devices.

RequireAndUse

Indicates that a hardware depth sensor, such as a time-of-flight sensor (or ToF sensor), must be present on the device, and the hardware depth sensor will be used by ARCore.

Not supported on all devices.

CameraConfigFacingDirection

 CameraConfigFacingDirection

Facing direction options for camera config.

Properties
Back

Back-facing (world) camera is enabled.

Available on all ARCore supported devices.

Front

Front-facing (selfie) camera is enabled.

See ARCore supported devices for available camera configs by device.

To limit distribution of your app to only devices that have a front-facing camera, use android.hardware.camera.

CameraConfigStereoCameraUsage

 CameraConfigStereoCameraUsage

Stereo Camera usage options.

Properties
DoNotUse

ARCore will not attempt to use a stereo camera, even if one is present.

Valid on all ARCore supported devices.

RequireAndUse

A stereo camera is present on the device and will be used by ARCore.

Not available on all ARCore supported devices.

CameraConfigTargetFps

 CameraConfigTargetFps

The camera frame rate filter for the currently selected camera.

Properties
Target30FPS

Target 30fps camera capture frame rate.

Available on all ARCore supported devices.

Target60FPS

Target 60fps camera capture frame rate.

Increases power consumption and may increase app memory usage.

See the ARCore supported devices page for a list of devices that currently support 60fps.

CloudAnchorMode

 CloudAnchorMode

Defines possible modes for ARCore Cloud Anchors.

Properties
Disabled

Cloud Anchors are disabled.

This is the default value.

Enabled

Cloud Anchors are enabled, HostCloudAnchor() and ResolveCloudAnchorId() functions are available.

The app is expected to have the INTERNET permission (Android only).

CloudAnchorState

 CloudAnchorState

Describes the current state of a ARCloudAnchor.

Properties
ErrorHostingDatasetProcessingFailed

Hosting failed because the server could not successfully process the dataset for the given Cloud Anchor.

The developer should try again after the devices has gathered more data from the environment.

ErrorHostingServiceUnavailable

The ARCore Cloud Anchor service was unreachable.

This can happen because of a number of reasons. The device may be in airplane mode or does not have a working internet connection. The request sent to the server could have timed out with no response, there could be a bad network connection, DNS unavailability, firewall issues, or anything that could affect the device's ability to connect to the ARCore Cloud Anchor service.

ErrorInternal

A hosting or resolving task for this Cloud Anchor has completed with an internal error.

The app should not attempt to recover from this error.

ErrorNotAuthorized

The app cannot communicate with the ARCore Cloud because of an invalid authentication.

Check Project Settings > XR > ARCore Extensions for a valid authentication strategy.

ErrorResolvingCloudIdNotFound

Resolving failed because the ARCore Cloud Anchor service could not find the provided Cloud Anchor Id.

ErrorResolvingPackageTooNew

The Cloud Anchor could not be acquired because the ARCore Extensions package used to host the Cloud Anchor was older than and incompatible with the version being used to acquire it.

ErrorResolvingPackageTooOld

The Cloud Anchor could not be resolved because the ARCore Extensions package used to host the Cloud Anchor was newer than and incompatible with the version being used to acquire it.

ErrorResourceExhausted

The application has exhausted the request quota alloted to the given API key.

The developer should request additional quota for the ARCore Cloud for their API key from the Google Developers Console.

None

The Cloud Anchor is not ready to use.

Success

A hosting or resolving task for this Cloud Anchor has completed successfully.

TaskInProgress

A hosting or resolving task is in progress for this Cloud Anchor.

Once the task completes in the background, the Cloud Anchor will get a new state after the next update.

CloudReferenceState

 CloudReferenceState

Deprecated version of CloudAnchorState.

Deprecated. Please use CloudAnchorState instead.

Properties
ErrorHostingDatasetProcessingFailed

Hosting failed because the server could not successfully process the dataset for the given Reference Point.

The developer should try again after the devices has gathered more data from the environment.

ErrorHostingServiceUnavailable

The ARCore Cloud Anchor service was unreachable.

This can happen because of a number of reasons. The device may be in airplane mode or does not have a working internet connection. The request sent to the server could have timed out with no response, there could be a bad network connection, DNS unavailability, firewall issues, or anything that could affect the device's ability to connect to the ARCore Cloud Anchor service.

ErrorInternal

A hosting or resolving task for this Reference Point has completed with an internal error.

The app should not attempt to recover from this error.

ErrorNotAuthorized

The app cannot communicate with the ARCore Cloud because of an invalid or unauthorized API key in the manifest, or because there was no API key present in the manifest.

ErrorResolvingCloudIdNotFound

Resolving failed because the ARCore Cloud Anchor service could not find the provided Cloud Anchor Id.

ErrorResolvingPackageTooNew

The Reference Point could not be acquired because the ARCore Extensions package used to host the Cloud Anchor was older than and incompatible with the version being used to acquire it.

ErrorResolvingPackageTooOld

The Reference Point could not be resolved because the ARCore Extensions package used to host the Cloud Anchor was newer than and incompatible with the version being used to acquire it.

ErrorResourceExhausted

The application has exhausted the request quota alloted to the given API key.

The developer should request additional quota for the ARCore Cloud for their API key from the Google Developers Console.

None

The cloud reference point is not ready to use.

Success

A hosting or resolving task for this Reference Point has completed successfully.

TaskInProgress

A hosting or resolving task is in progress for this Reference Point.

Once the task completes in the background, the Reference Point will get a new state after the next update.

FeatureMapQuality

 FeatureMapQuality

Indicates the quality of feature points seen by ARCore in the preceding few seconds from a given camera Pose.

A higher quality indicates that a Cloud Anchor hosted at the current time, with the current set of recently seen feature points, is generally easier to resolve more accurately. For more details, see Share AR experiences with Cloud Anchors.

Properties
Good

The quality of feature points seen from the pose in the preceding few seconds is likely sufficient for ARCore to successfully resolve a Cloud Anchor with a high degree of accuracy.

Insufficient

The quality of feature points seen from the pose in the preceding few seconds is low.

This state indicates that ARCore will likely have more difficulty resolving the Cloud Anchor. Encourage the user to move the device, so that the desired position of the Cloud Anchor to be hosted is seen from different angles.

Sufficient

The quality of feature points seen from the pose in the preceding few seconds is likely sufficient for ARCore to successfully resolve a Cloud Anchor, although the accuracy of the resolved pose will likely be reduced.

Encourage the user to move the device, so that the desired position of the Cloud Anchor to be hosted is seen from different angles.

PlaybackResult

 PlaybackResult

Results from attempting to set playback dataset filepath.

Properties
ErrorPlaybackFailed

Playback failed.

ErrorSessionNotPaused

The session was not paused when setting the playback dataset.

ErrorSessionUnsupported

Operation is unsupported with the current session.

OK

The request completed successfully.

SessionNotReady

The call to ARPlaybackManager.SetPlaybackDataset(string) failed because ARCore is currently attempting to resume or pause the session.

Try calling it again in the next frame. Note:

  • Resuming session may require several frames to complete.
  • Pausing session may take up to 10 seconds to pause.

PlaybackStatus

 PlaybackStatus

Describes the current playback status.

Properties
FinishedSuccess

Playback has finished successfully.

The session is waiting on the final frame of the dataset. To resume a live camera feed or play another dataset, pause the session, call ARPlaybackManager.SetPlaybackDataset(), and resume the session.

IOError

Playback has stopped due to an error.

None

The session is not playing back a dataset.

OK

Playback is in process without issues.

RecordingResult

 RecordingResult

Results from recording methods.

Properties
ErrorIllegalState

When using ARRecordingManager.StartRecording(ARCoreRecordingConfig), this means a recording is already in progress.

When using ARRecordingManager.RecordTrackData(Guid, byte[]), this means either RecordingStatus is not currently RecordingStatus.OK or the system is currently under excess load for images to be produced. The system should not be under such excess load for more than a few frames and an app should try to record the data again during the next frame.

ErrorInvalidArgument

When using ARRecordingManager.StartRecording(ARCoreRecordingConfig), this means the ARCoreRecordingConfig was null or invalid.

When using ARRecordingManager.RecordTrackData(Guid, byte[]), this means the track id or payload given are null or invalid.

ErrorRecordingFailed

IO or other general failure.

OK

The request completed successfully.

SessionNotReady

The call to ARRecordingManager.StartRecording(ARCoreRecordingConfig) failed because ARCore is currently attempting to resume or pause the session.

Try calling it again in the next frame. Note:

  • Resuming session may require several frames to complete.
  • Pausing session may take up to 10 seconds to pause.

RecordingStatus

 RecordingStatus

Describes the current recording status.

Properties
IOError

There was an IO error while recording.

None

The recorder is not recording.

OK

The recorder is recording normally.