MacのUnityでPlatformをPCにしているときにはGPUInstancingが正常に動くが、AndroidやiOSに設定すると絵が正しく表示されない

この件、めちゃくちゃハマったのですが、結論から言うとShader側で設けているBufferに対してCPU側から送るバッファのサイズがおかしかったのが原因でした。

なんで、Platform設定によってうまくいったりいかなかったりするんだろう???

しかもWindowsでEditorを動かしている際はPlatformの設定に関わらずうまく動くという...

一応、いかにサンプルを作りました。
github.com

P.S

DirectX* or desktop OpenGL doesn't really support half or fixed data types.

という記載を見かけたので、DirectXを使っているWindowsやdesktop OpenGLなんかではhalfがfloatに変換されているのかもって思いました。

検索キーワード用:DrawMeshInstancedIndirect,URP