先週リリースされたUnity6.3。
喜び勇んで入れてみたところ早速タイトル画面が壊れました;
何でや・・・とFrameDebuggerを確認したところ、
背景やキャラのアウトラインも効いていないし、何か描画パスも少ないし、
どうやら自作したRendererFeatureが軒並み動かなくなっているっぽい??
「ははぁ、これはRendererFeatureが怪しいな?」と色々触っていると警告が出ていることに気づきました

The render pass ScreenPocket.Graphics.DrawOutlineRendererFeature+Pass does not have an implementation of the RecordRenderGraph method. Please implement this method, or consider turning on Compatibility Mode (RenderGraph disabled) in the menu Edit > Project Settings > Graphics > URP. Otherwise the render pass will have no effect. For more information, refer to https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest/index.html?subfolder=/manual/customizing-urp.html.
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
おや、何とRenderGraphのコンパチビリティ(非RenderGraphのRendererFeatureでも動かせられる)モードが無効になってしまっているとの事。
なるほど、確かにそろそろ移行する話は聞いていたけれども、とうとうその時が来たかぁ。
けどまぁそれはそれとして、コンパチビリティモードを有効化しなきゃ…という事でProjectSettings>Graphics>URP の欄を確認
「コンパチビリティモード切替トグルが無い」 んじゃが・・・
と、インフォメーションを読むと、
- Unity6.3からコンパチブルモードを隠したぜ!
- コンパチブルモードのコード自体をStripする事でビルドサイズも抑えたぜ!
- どうしても復帰したいなら URP_COMPATIBILITY_MODE シンボルを追加してくれよな!
という事でナビゲート通りに ProjectSettings>Player>シンボル に URP_COMPATIBILITY_MODE を追加

はー、焦った。
Unity6.4からはRenderGraph対応を必須化する事もあって「そろそろRenderGraph対応をしておけよ」というお達しという事でしょう。
実は裏で作っている作品ではとっくにRenderGraph対応完了済みなのですが、本タイトルに関しては古いオレオレライブラリを使い続けているのですよね。今後を考えると、RenderGraph部分だけでもパッチ対応をした方が良いように思いました。
古いタイトルをUnity6.3に上げようとしている方はご注意ください



