When using Dx11 unity for some reason modified shader compiler so that any non-instancing cbuffer will produce a compilation error, at least on 2021.3 LTS. As it turns out "instancing cbuffer" is one that has name beginning with 'UnityInstancing_'. So workaround is to just add that prefix to cbuffer and it will actually "just work" with Shader.SetGlobalConstantBuffer and friends it seems (at least seems to work so far?) Now, I understand this is done for compatibility reasons (probably? as always?), but using cbuffers is important for performance and is advised on nvidia's blog for one (https://developer.nvidia.com/content/how-about-constant-buffers) I would appreciate if you removed this restriction for platforms that don't care for it, or turned it into a warning.