Per Instance custom data inside of material

This is crazy why isn’t this available in the engine by default?. What’s the performance like?