Table of Contents

Class QuestCameraManager

Entry point for the native Camera2 plugin.

public sealed class QuestCameraManager : DontCreateNewSingleton<QuestCameraManager>
Inheritance
object
QuestCameraManager
Extension Methods

Fields

AvatarCameraPermission

Meta Quest Avatar Camera API permission string.

public const string AvatarCameraPermission = "android.permission.CAMERA"

Field Value

string

ConversionKernel

The shader and kernel to use for YUV 4:2:0 to RGBA conversion.

public ComputeShaderKernel ConversionKernel

Field Value

ComputeShaderKernel

HeadsetCameraPermission

Meta Quest Passthrough Camera API permission string.

public const string HeadsetCameraPermission = "horizonos.permission.HEADSET_CAMERA"

Field Value

string

MetaQuestCameraPositionKeyName

Name of the metadata key for the Quest's camera eye position.

public const string MetaQuestCameraPositionKeyName = "com.meta.extra_metadata.position"

Field Value

string

MetaQuestCameraSourceKeyName

Name of the metadata key for the Quest's camera source.

public const string MetaQuestCameraSourceKeyName = "com.meta.extra_metadata.camera_source"

Field Value

string

Properties

Cameras

A managed, cached array of available cameras and their characteristics.

public IReadOnlyList<CameraInfo> Cameras { get; }

Property Value

IReadOnlyList<CameraInfo>

MetaQuestCameraPositionKey

Metadata key for the Quest's camera eye position.

public CameraMetadata.Key MetaQuestCameraPositionKey { get; }

Property Value

CameraMetadata.Key

MetaQuestCameraSourceKey

Metadata key for the Quest's camera source.

public CameraMetadata.Key MetaQuestCameraSourceKey { get; }

Property Value

CameraMetadata.Key

Support

Tries to get the runtime's support for the Passthrough Camera Access and Camera2 APIs.

public static PCASupport Support { get; }

Property Value

PCASupport

Methods

Awake()

protected override void Awake()

GetDevices()

Gets the IDs and intrinsics of all connected camera devices.

public CameraInfo[] GetDevices()

Returns

CameraInfo[]

OpenCamera(string)

Opens a camera device for use.

public CameraDevice OpenCamera(string cameraId)

Parameters

cameraId string

The ID of the camera to open.

Returns

CameraDevice

The camera device. Check State (inherited by CameraDevice) for the state of the device.

Remarks

Once you have finished using the camera, close and dispose of it using DisposeAsync().

OpenCamera(CameraInfo)

Opens a camera device for use.

public CameraDevice OpenCamera(CameraInfo cameraInfo)

Parameters

cameraInfo CameraInfo

Returns

CameraDevice

The camera device. Check State (inherited by CameraDevice) for the state of the device.

Remarks

Once you have finished using the camera, close and dispose of it using DisposeAsync().

RefreshDevices()

Refreshes cached camera device information.

public void RefreshDevices()

TryGetDevice(CameraEye, out CameraInfo?)

Finds a camera device by its corresponding eye.

public bool TryGetDevice(CameraInfo.CameraEye eye, out CameraInfo? cameraInfo)

Parameters

eye CameraInfo.CameraEye
cameraInfo CameraInfo

Returns

bool