【Unity】ImageのテクスチャをResources.Load()で読み込んだテクスチャに変更する

! 新しい投稿を参照してください !

Image img = GameObject.Find("Canvas/Panel/***").GetComponent();
img.material.mainTexture = Resources.Load("image path") as Texture;

これだけでImageのテクスチャをResources.Load()で読み込んだテクスチャに変更できます。

実行時、変更されない場合は上手く反映されていないことがあるらしいのですけど
その場合は2行目を
img.material.setTexture(“_MainTexture”,”image path”);
に差し替えて一度実行すると反映されるようになりました。
ここ、ちょっと理由がよくわかってないです。すいません。

環境

  • OSX El Capitan v10.11
  • Unity v5.2.1f1