メインコンテンツへスキップ
< すべてのトピックに戻る

「Material doesn’t have a texture property ‘_MainTex’」が出た場合は?

マテリアルに対してスクリプトから material.SetTexture("_MainTex", img)で画像を変えようとしましたが、「_MainTexなんて項目はない」と弾かれました。

BRP環境ではメイン画像の変数名は伝統的に"_MainTex"でしたが、Unity 6のURPの標準Litシェーダーでは"_BaseMap"という新しい名前に変更されたため、古いスクリプトが空振りしているからです。

スクリプト内で"_MainTex"と書かれている部分を検索し、すべて"_BaseMap"に書き換えます。自作のShader Graphで作ったマテリアルの場合は、Reference(参照名)をスクリプトと一致させてください。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に