Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ConvertExistingNativeListToNativeArray<T>(ref NativeList<T>, int, AllocatorHandle)

Convert NativeList into a NativeArray.
Read time 1 minuteLast updated 15 hours ago

Definition

  • Type: Method
  • Namespace: Unity.Collections
  • Assembly: UnityEngine.ManagedKernelModule

ConvertExistingNativeListToNativeArray<T>(NativeList<T>, int, AllocatorHandle)

public static NativeArray<T> ConvertExistingNativeListToNativeArray<T>(ref NativeList<T> nativeList, int length, AllocatorManager.AllocatorHandle allocator) where T : unmanaged

Parameters

nativeList

NativeList to be converted.

length

The count of elements.

The Allocator to use.

Returns

Type

Description

NativeArray<T>Returns the NativeArray that was created.

Remarks

There is a caveat if users would like to transfer memory ownership from the NativeList to the converted NativeArray. NativeList implementation includes two memory allocations, one holds its header, another holds the list data. After convertion, the converted NativeArray holds the list data and dispose the array only free the list data. Users need to manually free the list header to avoid memory leaks, for example after convertion call, AllocatorManager.Free(allocator, nativeList.m_ListData);