public override unsafe TrackableChanges <XRRaycast> GetChanges(XRRaycast defaultRaycast, Allocator allocator) { Assert.AreNotEqual(IntPtr.Zero, m_Self); NativeApi.AcquireChanges(m_Self, out XRRaycast * added, out int addedCount, out XRRaycast * updated, out int updatedCount, out TrackableId * removed, out int removedCount, out int elementSize); try { return(new TrackableChanges <XRRaycast>( added, addedCount, updated, updatedCount, removed, removedCount, defaultRaycast, elementSize, allocator)); } finally { NativeApi.ReleaseChanges(added, updated, removed); } }