I thought that is the point of the whole MaterialPropertyBlock - differnet MatrialPropertyBlock and everything else the same. The code looks like this:
Renderer renderer = GetComponent<Renderer>();
MaterialPropertyBlock propBlock = new MaterialPropertyBlock();
renderer.GetPropertyBlock(propBlock);
propBlock.SetTexture("_MainTex", thumbTex);
renderer.SetPropertyBlock(propBlock);
and shader is a simple Unlit shader with
Properties
{
[PerRendererData]_MainTex ("Texture", 2D) = "black" {}
The frame debugger still shows these as individual draw calls and does not batch them and reason is
“Objects have different MaterialPropertyBlock set”