public ArStatus StartRecording(ArRecordingConfig recordingConfig)
            {
                if (session == null)
                {
                    throw new InvalidOperationException($"{nameof(StartRecording)} may not be called without a valid {nameof(session)}");
                }

                return(session.StartRecording(recordingConfig));
            }
 /// <summary>
 /// Starts recording a session.
 /// </summary>
 /// <param name="recordingConfig">The configuration for the recording.</param>
 /// <returns>Returns <see cref="ArStatus.Success"/> if recording successfully begins. Returns one of the
 /// following otherwise:
 /// - <see cref="ArStatus.ErrorIllegalState"/>
 /// - <see cref="ArStatus.ErrorInvalidArgument"/>
 /// - <see cref="ArStatus.ErrorRecordingFailed"/>
 /// </returns>
 /// <seealso cref="StopRecording"/>
 /// <seealso cref="StartPlayback"/>
 /// <seealso cref="StopPlayback"/>
 public ArStatus StartRecording(ArRecordingConfig recordingConfig) =>
 ((ARCoreProvider)provider).StartRecording(recordingConfig);