/// <summary>
 /// Get changes (added, updated, and removed) in environment probes since the last call to this method.
 /// </summary>
 /// <param name="defaultEnvironmentProbe">A default value for environment probes. Implementations should first fill their output
 /// arrays with copies of this value, then copy in their own. See the <see cref="NativeCopyUtility"/>.
 /// This allows additional fields to be added to the <see cref="XREnvironmentProbe"/> in the future.</param>
 /// <param name="allocator">The allocator to use for the <c>NativeArray</c>s in the returned <see cref="TrackableChanges{T}"/>.</param>
 /// <returns>The environment probes which have been added, updated, and removed since the last call to this method.</returns>
 /// <seealso cref="NativeCopyUtility"/>
 public abstract TrackableChanges <XREnvironmentProbe> GetChanges(XREnvironmentProbe defaultEnvironmentProbe,
                                                                  Allocator allocator);
 /// <summary>
 /// Overridden by the provider implementation to manually add an environment probe to the AR session.
 /// </summary>
 /// <param name='pose'>The position and rotation at which to create the new environment probe.</param>
 /// <param name='scale'>The scale of the new environment probe.</param>
 /// <param name='size'>The size (dimensions) of the new environment probe.</param>
 /// <param name='environmentProbe'>If successful, should be populated with the newly created environment probe.</param>
 /// <returns>
 /// <c>true</c> if a new environment probe was created, otherwise <c>false</c>.
 /// </returns>
 /// <exception cref="System.NotSupportedException">Thrown in the default implementation of this method.</exception>
 public virtual bool TryAddEnvironmentProbe(Pose pose, Vector3 scale, Vector3 size, out XREnvironmentProbe environmentProbe)
 {
     throw new NotSupportedException("manual placement of environment probes is not supported by this implementation");
 }