class ARSessionManager (Niantic.ARDK.Extensions.ARSessionManager)
Overview
A Unity component that manages an ARSession’s lifetime. The session can either be created and run automatically through Unity lifecycle events, or can be controlled programatically. Any outstanding sessions are always cleaned up on destruction. Integrates with the CapabilityChecker to ensure the device supports AR. More…
class ARSessionManager: Niantic.ARDK.Extensions.ARConfigChanger { public: // properties IARSession ARSession; bool IsAutoFocusEnabled; bool IsLightEstimationEnabled; ARSessionRunOptions RunOptions; WorldAlignment WorldAlignment; // methods virtual override void ApplyARConfigurationChange(ARSessionChangesCollector.ARSessionRunProperties properties); };
Inherited Members
public: // properties bool AreFeaturesEnabled; bool CanInitialize; bool Initialized; // methods void Deinitialize(); void DisableFeatures(); void EnableFeatures(); void Initialize(); virtual abstract void ApplyARConfigurationChange(ARSessionChangesCollector.ARSessionRunProperties properties) = 0;
Detailed Documentation
A Unity component that manages an ARSession’s lifetime. The session can either be created and run automatically through Unity lifecycle events, or can be controlled programatically. Any outstanding sessions are always cleaned up on destruction. Integrates with the CapabilityChecker to ensure the device supports AR.
If ManageUsingUnityLifecycle is true: OnAwake(): an ARSession will be initialized OnEnable(): the ARSession will be run OnDisable(): the ARSession will be paused OnDestroy(): the ARSession will be disposed Else: Call Initialize() to initialize an ARSession Call EnableFeatures() to run the ARSession Call DisableFeatures() to pause the ARSession Call Deinitialize() to dispose the ARSession
Note
Because the CapabilityChecker’s method for checking device support and the PermissionRequester’s method to get camera permissions are async, the above events (i.e. initialization of an ARSession) may not happen on the exact frame as the method (OnAwake or Initialize) is invoked.
Methods
virtual override void ApplyARConfigurationChange(ARSessionChangesCollector.ARSessionRunProperties properties)
Inheritors should override this to modify session configuration settings based on their script’s needs.
Note
This is executed as a result of the ARSession being run, which may or may not be triggered by a call to RaiseConfigurationChanged().