>>327
何か勘違いしてるようだがRenderer.materialsの型はArrayで、classであってstructじゃないぞ?
この場合問題なのはUnityの仕様でArrayを返す際に配列のコピーを返すってことだ。

http://docs.unity3d.com/ja/current/ScriptReference/Renderer-materials.html
↑を見ると以下のようにある。

Unity によって返されるすべての配列のようにこれはマテリアルの配列のコピーを返すことに注意してください。 その配列でいくつかのマテリアルを変更したい場合、値を取得し、エントリーを変更して、 戻すマテリアルを設定します。

なおColorやVector3辺りを設定する場合に同様の問題が出るのはColorやVector3がstructだからで正しい

重箱の隅をつつくようだがこの辺の違いをきちんと理解してないと後々罠に嵌るかもしれんよ