myMaterialPropertyBlock.SetMatrixArray cross over data with different sized arrays

example

// gameObjectA and gameObjectB share same mesh and material
    var meshA = gameObjectA.GetComponent<MeshRenderer>();
    var myMaterialBlockA = new MaterialPropertyBlock();
    var length = 6;
    var myMatrixColorsA = GetMatrixWithRandomColors(length);
    myMaterialBlockA.SetMatrixArray("Colors", myMatrixColorsA);
    var meshB = gameObjectB.GetComponent<MeshRenderer>();
    var myMaterialBlockB = new MaterialPropertyBlock();
    length = 2;
    var myMatrixColorsB = GetMatrixWithRandomColors(length);
    myMaterialBlockB.SetMatrixArray("Colors", myMatrixColorsB);
    meshB.SetPropertyBlock(myMaterialBlockB);

meshB will also get 6 colors,
2 from myMaterialBlockB, and 4 from myMaterialBlockA

:frowning:

Looks rather curious. Could you please send us a bug report with the problematic scene attached? Thanks.

i think its described here bottom of page 4