Class AREnvironmentProbeManager
This class creates, maintains, and destroys environment probe game object components as the
XREnvironmentProbeSubsystem provides updates from environment probes as they are detected in the
environment.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARFoundation
Syntax
public sealed class AREnvironmentProbeManager : ARTrackableManager<XREnvironmentProbeSubsystem, XREnvironmentProbeSubsystemDescriptor, XREnvironmentProbe, AREnvironmentProbe>
Properties
automaticPlacement
A property of the environment probe subsystem that, if enabled, automatically generates environment probes for the scene.
Declaration
public bool automaticPlacement { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
debugPrefab
Specifies a debug prefab that will be attached to all environment probes.
Declaration
public GameObject debugPrefab { get; set; }
Property Value
| Type | Description |
|---|---|
| GameObject | A debug prefab that will be attached to all environment probes. |
Remarks
Setting a debug prefab allows for these environment probes to be more readily visualized but is not
required for normal operation of this manager. This script will automatically create reflection probes for
all environment probes reported by the XREnvironmentProbeSubsystem.
environmentTextureFilterMode
Specifies the texture filter mode to be used with the environment texture.
Declaration
public FilterMode environmentTextureFilterMode { get; set; }
Property Value
| Type | Description |
|---|---|
| FilterMode | The texture filter mode to be used with the environment texture. |
environmentTextureHDR
Specifies whether the environment textures should be returned as HDR textures.
Declaration
public bool environmentTextureHDR { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
gameObjectName
Declaration
protected override string gameObjectName { get; }
Property Value
| Type | Description |
|---|---|
| String |
Overrides
Methods
AddEnvironmentProbe(Pose, Vector3, Vector3)
Creates a new environment probe at pose with scale and size
if supported by the subsystem. Use .SubsystemDescriptor.supportsManualPlacement to determine
support for this feature. If successful, a new GameObject with an AREnvironmentProbe will be created
immediately; however, the provider may not report the environment probe as added until a future frame. Check the
status of the probe by inspecting its
Declaration
public AREnvironmentProbe AddEnvironmentProbe(Pose pose, Vector3 scale, Vector3 size)
Parameters
| Type | Name | Description |
|---|---|---|
| Pose | pose | The position and rotation at which to create the new environment probe. |
| Vector3 | scale | The scale of the new environment probe. |
| Vector3 | size | The size (dimensions) of the new environment probe. |
Returns
| Type | Description |
|---|---|
| AREnvironmentProbe | A new AREnvironmentProbe if successful, otherwise |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | Thrown if this manager is not enabled |
| InvalidOperationException | Thrown if this manager has no subsystem. |
| NotSupportedException | Thrown if manual placement is not supported by this subsystem.
Check for support with |
GetEnvironmentProbe(TrackableId)
Attempts to find the environment probe matching the trackable ID currently in the scene.
Declaration
public AREnvironmentProbe GetEnvironmentProbe(TrackableId trackableId)
Parameters
| Type | Name | Description |
|---|---|---|
| TrackableId | trackableId | The trackable ID of an environment probe for which to search. |
Returns
| Type | Description |
|---|---|
| AREnvironmentProbe | Environment probe in the scene matching the |
GetPrefab()
Declaration
protected override GameObject GetPrefab()
Returns
| Type | Description |
|---|---|
| GameObject |
Overrides
OnBeforeStart()
Enables the environment probe functionality by registering listeners for the environment probe events, if
the XREnvironmentProbeSubsystem exists, and enabling environment probes in the AR subsystem manager.
Declaration
protected override void OnBeforeStart()
Overrides
OnCreateTrackable(AREnvironmentProbe)
Declaration
protected override void OnCreateTrackable(AREnvironmentProbe probe)
Parameters
| Type | Name | Description |
|---|---|---|
| AREnvironmentProbe | probe |
Overrides
OnDestroy()
Destroys any game objects created by this environment probe manager for each environment probe, and clears the mapping of environment probes.
Declaration
protected override void OnDestroy()
Overrides
OnTrackablesChanged(List<AREnvironmentProbe>, List<AREnvironmentProbe>, List<AREnvironmentProbe>)
Declaration
protected override void OnTrackablesChanged(List<AREnvironmentProbe> added, List<AREnvironmentProbe> updated, List<AREnvironmentProbe> removed)
Parameters
| Type | Name | Description |
|---|---|---|
| List<AREnvironmentProbe> | added | |
| List<AREnvironmentProbe> | updated | |
| List<AREnvironmentProbe> | removed |
Overrides
RemoveEnvironmentProbe(AREnvironmentProbe)
Remove an existing environment probe. Support for this feature is provider-specific. Check for support with
.SubsystemDescriptor.supportsRemovalOfManual and
.SubsystemDescriptor.supportsRemovalOfAutomatic.
Declaration
public bool RemoveEnvironmentProbe(AREnvironmentProbe probe)
Parameters
| Type | Name | Description |
|---|---|---|
| AREnvironmentProbe | probe | The environment probe to remove |
Returns
| Type | Description |
|---|---|
| Boolean |
|
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | Thrown if this manager is not enabled. |
| InvalidOperationException | Thrown if |
| ArgumentNullException | Thrown if |
| InvalidOperationException | Thrown if the environment probe was manually placed, but removal of manually placed probes is not supported.
You can check for this case with placementType and
|
| InvalidOperationException | Thrown if the environment probe was automatically placed, but removal of automatically placed probes is not supported.
You can check for this case with placementType and
|
Events
environmentProbesChanged
Invoked once per frame with lists of environment probes that have been added, updated, and removed since the last frame.
Declaration
public event Action<AREnvironmentProbesChangedEvent> environmentProbesChanged
Event Type
| Type | Description |
|---|---|
| Action<AREnvironmentProbesChangedEvent> |