Custom shader properties may need to be accessed sometime to perform certain checks. In this case, api.CallMethod() can be used to call the respective Get / Set methods from the object's material, just like how they are accessed in Unity.
Shader code
Properties { _CustomColorProperty("Custom Color Property", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} _Glossiness ("Smoothness", Range(0,1)) = 0.5 _Metallic ("Metallic", Range(0,1)) = 0.0 }
Test script code
api.CallMethod<Color>("//*[@name='TestObject']/fn:component('UnityEngine.MeshRenderer')/@material", "GetColor", new object[]{ "_CustomColorProperty" });