Unity2019くらいURPをURP14に移植する
古いURPをURP14にしたらエラーが出た 昔々の技術書典に向けて書いたURPのプロジェクトをURP14に移行を試みたらエラーが出たのでメモを残しておきたいと思います。 URP本 技術書典 https://techbookfest.org/product/5752788585807872?productVariantID=6047890145280000 Booth https://smartphone-games.booth.pm/items/2372771 以下の2点の修正を入れて動くようになりました。 ScriptableRenderer.cameraColorTagetが非推奨の対応 ‘CameraData.isStereoEnabled’ is obsoleteの対応 ありがたい参考サイトはこちら https://zenn.dev/sakutaro/articles/convert_blitter ScriptableRenderer.cameraColorTagetが非推奨の対応 以下のようなエラーが出ます。 Chapter2.UIEffectRenderPassFeatureは独自に追加したレンダーパスです。 You can only call cameraColorTarget inside the scope of a ScriptableRenderPass. Otherwise the pipeline camera target texture might have not been created or might have already been disposed. UnityEngine.Rendering.Universal.ScriptableRenderer:get_cameraColorTarget () Chapter2.UIEffectRenderPassFeature:AddRenderPasses (UnityEngine.Rendering.Universal.ScriptableRenderer,UnityEngine.Rendering.Universal.RenderingData&) (at Assets/Chapter2/Scripts/CustomRenderPass/UIEffectRenderPassFeature.cs:22) 該当コードに飛ぶと、ScriptableRenderer.cameraColorTagetが非推奨になっていました。 対応は、SetupRenderPassesを追加して、currentPass.SetRenderTargetをそちらに移動します。 ずばり変更差分 public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) { - currentPass.SetRenderTarget(renderer.cameraColorTarget); renderer.EnqueuePass(currentPass); } + + public override void SetupRenderPasses(ScriptableRenderer renderer, in RenderingData renderingData) + { + base....