[Unity] ReadOnlySpan<T>を GraphicsBuffer.SetData() したい

2025/02/07に公開

小ネタです。C#開発しているとSpanを多用しますが、まだUnityのAPIでSpanに対応できてないものが結構あります。
GraphicsBufferもその一つ。span.ToArray()したりNativeArrayに変換したりするのも無駄なので、Spanのまま渡したいなと思っていました。調べてみるとInternalSetNativeDataをreflectionで叩いている例は見つけましたが、 Refrection 使わない例が見つからなかったので用意してみました。

UnityのAPIもどんどんSpan対応増えてるので、早く追加されるといいですね。

Discussion