UnityRecoderのインストール

Windows → パッケージマネージャー → Unityレジストリ内からインストールする。(検索でRecorderと入力するとすぐに見つかる)
UnityRecoderをスクリプトから操作
インストールしただけだど、クラスにアクセスできなかったが、サンプル → Movie Sampleをインストールすることで、操作するクラスにアクセスできるようになる。
#if UNITY_EDITOR
using UnityEngine;
using System.IO;
using UnityEditor.Recorder;
using UnityEditor.Recorder.Encoder;
using UnityEditor.Recorder.Input;
public class AutoRecorder : MonoBehaviour
{
    private RecorderController recorderController;
    [Header("出力フォルダ名(英語)")] [SerializeField] string outputFileName = "SampleRecordings";
    [Header("出力ファイル名(英語)")][SerializeField] string videoName = "videoName"; //日本語が入るとエラーが発生する
    public void Setting()
    {
        var settings = ScriptableObject.CreateInstance();
        var movieRecorderSettings = ScriptableObject.CreateInstance();
        //movieRecorderSettings.OutputFile = "recordings/recording";
        movieRecorderSettings.ImageInputSettings = new GameViewInputSettings
        {
            OutputWidth = 1920,
            OutputHeight = 1080
        };
        movieRecorderSettings.EncoderSettings = new CoreEncoderSettings
        {
            EncodingQuality = CoreEncoderSettings.VideoEncodingQuality.Medium,
            Codec = CoreEncoderSettings.OutputCodec.MP4
        };
        movieRecorderSettings.CaptureAudio = false; //音声をキャプチャするか
        var mediaOutputFolder = new DirectoryInfo(Path.Combine(Application.dataPath, "..", outputFileName));  //アウトプットファイル名(無ければ生成される)
        movieRecorderSettings.OutputFile = mediaOutputFolder.FullName + "/" + videoName; //ビデオ名
        settings.AddRecorderSettings(movieRecorderSettings);
        settings.SetRecordModeToManual();
        recorderController = new RecorderController(settings);
    }
   public void StartRecord()
    {
        if (!recorderController.IsRecording())
        {
            recorderController.PrepareRecording();
            recorderController.StartRecording();
            Debug.Log("録画スタート");
        }
    }
  public void EndRecord()
    {
        if (recorderController.IsRecording())
        {
            recorderController.StopRecording();
            Debug.Log("録画停止");
        }
    }
}
#endif上のスクリプトをオブジェクトにアタッチし、他のスクリプトからStartRecord()関数、EndRecord()関数を呼び出すことで実行中に録画の開始、停止をすることができる。
ただし、StartRecord()関数を呼ぶ前に必ず、一度Setting()関数を実行しておく必要があります。
また、出力ファイル名が日本語だと、出力は完了できるがUnity上でエラーが発生します。