同じマテリアルが当たっているオブジェクトを複製して色を変えた時に色がシンクロしてしまうのが嫌だったので、マテリアルをスクリプトで複製して当てなおす処理で回避しました。
#コード
//===色変更処理===
//targetA : コピー元
//targetB : コピーしたオブジェクト
//setColor : 設定したい色
//変更したい色
Color setColor = new Color(0f, 0f, 0f);
//Aをコピー
GameObject targetB = Instantiate(targetA);
//対象のシェーダー情報を取得
Shader sh = targetObjA.GetComponent<MeshRenderer>().material.shader;
//取得したシェーダーを元に新しいマテリアルを作成
Material mat = new Material(sh);
//作成したマテリアルの色を変更
mat.color = setColor;
//対象オブジェクトに割り当てる
targetObjB.GetComponent<MeshRenderer>().material = mat;