Unity

【URP】Android端末でMaskが効かない問題の対処法

レンダリングパイプラインをビルドインからURPに変えた所、Androidの一部端末でMaskコンポーネントが効かなくなってしまいました。

この記事ではその原因と対応方法を解説します。

Maskコンポーネントが効かなくなった原因

僕の環境では、GoogleのPixel6aでは問題なくURP環境でもMaskが効いたものの、ファーウェイのP30Lite、OppoのRenoAではMaskが効かない状態でした。

原因は、グラフィックスAPIの違い、Pixel6aはVulkanを、その他の端末ではOpenGLES3を使っていることが原因でした。

対応方法

UnityのEdit > Project Settings、を選び

Player欄のAndroidタブを選び
Other Settingsの、Auto Graphics APIのチェックを外します。

すると自動設定候補のグラフィックAPIのリストが表示されます。ここでVulkanを選択して、-ボタンを押しVulkanを外して、OpenGLES3だけにすればOKです。

これで、無事MaskがPixel以外の端末でも効くようになりました!