本日はUnityトラブルシューティング枠です。
Unityでは様々なバージョンが提供されています。
あるバージョンで作成したプロジェクトを別のバージョンにアップグレードする際、パッケージなどでエラーが発生することがあります。
今回はUniversal RenderPipelineでエラーが発生していたので解消します。
〇現象
Unity2021.1.10f1で作成したプロジェクトをUnity2021.1.19f1にアップグレードしました。
この際以下のようなエラーが発生しました。
Library\PackageCache\com.unity.render-pipelines.universal@11.0.0\Editor\ShaderGraph\AssetCallbacks\CreateLitShaderGraph.cs(2,19): error CS0234: The type or namespace name 'ShaderGraph' does not exist in the namespace 'UnityEditor' (are you missing an assembly reference?)
UniversalRenderPipelineに関連してエラーが発生していることがわかります。
〇エラーの原因とUnityバージョンとURPの関係
Univarsal Render PipelineはUnity2019以降Unityのバージョンに依存して提供されています。
つまり、あるバージョンのUnityではそのバージョンに対応しているバージョンのURPが使用できるということになります。
UnityをアップデートしたことでURPパッケージがそのUnityバージョンの対応パッケージ外になり、発生したと思われます。
〇エラーの解消
エラーはURPを再インストールすることで解消できます。[PackageManager]から[Universal RP]を削除します。
URPパッケージが削除されたためシェーダーなどURP関連のグラフィックエラーが発生していますが、Unityのプロジェクトを実行できるようになりました。(エディタが実行できないほどのエラーが解消されました。)
[PackageManager]を開きなおし、[UniversalRP]を再インストールします。
以上で作業は完了です。