Unityバージョン
2019.2.14f
問題提起
IProcessScene というインターフェースがかつていたらしい1。
が、リファレンスをあさる限り、2018.1以降"Method group is Obsolete"2、つまり古いと書かれている。
では、代わりは一体何か。
探求
`IProcessScene`が`IProcessSceneWithReport`になっていました。
とりあえず`IProcessScene`でぐぐると、ドンピシャなのではというQ&Aを発見。
> Remote Settingsを利用する際、Asset Storeからパッケージをインポートすると、次のようなコンパイルエラーが発生します。
>
> ```
> Assets/Editor/RemoteSettings/RemoteSettingsLinker.cs(23,18): error CS0535: `UnityEngine.Analytics.RemoteSettingsLinker' does not implement interface member `UnityEditor.Build.IPreprocessBuild.OnPreprocessBuild(UnityEditor.BuildTarget, string)'
>
> Assets/Editor/RemoteSettings/RemoteSettingsLinker.cs(23,18): error CS0535: `UnityEngine.Analytics.RemoteSettingsLinker' does not implement interface member `UnityEditor.Build.IPreprocessBuild.OnPreprocessBuild(UnityEditor.BuildTarget, string)'
> ```
> [^3]
読み進めると、IProcessSceneがIProcessSceneWithReportに置き換わっている様子なので、スクリプトリファレンスを見てみる。
https://docs.unity3d.com/ja/2019.2/ScriptReference/Build.IProcessSceneWithReport.OnProcessScene.html
ビンゴ。恐らく、引数にBuild.Reporting.BuildReportが加わってあたらしくなったためだろう。
結論
インターフェースIProcessSceneWithReportを継承し、OnProcessSceneを実装すべし。