Renderer の Materials を スクリプトから設定する

MeshRenderer などの Materials をスクリプトから動的に設定する。
普通にこうやればできるかなと思ったが、できず。

renderer.materials[0] = someMaterial1;
renderer.materials[1] = someMaterial2;

正解は以下。一度配列で取得して、配列としてセットし直すと動く。

Material[] mats = renderer.materials;
mats[0] = someMaterial1;
mats[1] = someMaterial2;
renderer.materials = mats;

確認バージョン

Unity 4.5