Hmm. I am not sure if I properly understand your issue. But it doesn’t matter what your object color will be. As I said, object color will be reflected by mirror with the same values they have. So if you have (1,0,0) color object in the scene, the mirror will reflect (1,0,0) if the albedoColor of mirror is white.
So you can imagine this situation without mirrorTexture at all, you have sphere mesh and the plane/mirror mesh. You have two pbrMaterials. on them. Sphere albedo is red (1,0,0), mirror albedo is grey (0.5,0.5,.0.5) → which is your case pretty much
Now you create mirrorTexture (reflectionTexture) and you put it on the grey plane/mirror mesh. That reflectionTexture contains the data taken from the scene (so it contains the values of the red sphere albedoColor (1,0,0).
But what happens, because you have albedo (0.5,0.5,0.5), every value of reflectionTexture will be multiplied by 0.5. So the values of red sphere that reflectionTexture contains (1,0,0) will be multiplied by (0.5,0.5,0.5).
I hope this makes sense… So basically if you keep your mirror albedoColor as (1,1,1), the objects around ,which mirror reflects, will get their colorValues reflected the same. So blue sphere will be blue, red will be red, and sphere with textures will reflect those texture properly.
And the reason you don’t get the match in your example is because it’s, well, mirror. Basically, you are reflecting the skybox color behind the camera, not behind the plane.