Class NativeCopyUtility
Utilities for copying native arrays.
Namespace: UnityEngine.XR.ARSubsystems
Syntax
public static class NativeCopyUtility
Methods
CreateArrayFilledWithValue<T>(T, Int32, Allocator)
Creates a new array allocated with allocator initialized with length
copies of value.
Declaration
public static NativeArray<T> CreateArrayFilledWithValue<T>(T value, int length, Allocator allocator)
where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| T | value | The value with which to fill the array. |
| Int32 | length | The length of the array to create. |
| Allocator | allocator | The allocator with which to create the |
Returns
| Type | Description |
|---|---|
| NativeArray<T> | A new |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the |
FillArrayWithValue<T>(NativeArray<T>, T)
Fills array with repeated copies of value.
Declaration
public static void FillArrayWithValue<T>(NativeArray<T> array, T value)
where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| NativeArray<T> | array | The array to fill. |
| T | value | The value with which to fill the array. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the |
PtrToNativeArrayWithDefault<T>(T, Void*, Int32, Int32, Allocator)
Creates a NativeArray from a pointer by first copying length
defaultTs into the NativeArray, and then overwriting the
data in the array with source, assuming each element in source
is sourceElementSize bytes.
Declaration
public static NativeArray<T> PtrToNativeArrayWithDefault<T>(T defaultT, void *source, int sourceElementSize, int length, Allocator allocator)
where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| T | defaultT | A default version of |
| Void* | source | A pointer to a contiguous block of data of size |
| Int32 | sourceElementSize | The size of one element in |
| Int32 | length | The number of elements to copy. |
| Allocator | allocator | The allocator to use when creating the |
Returns
| Type | Description |
|---|---|
| NativeArray<T> | A new |
Type Parameters
| Name | Description |
|---|---|
| T | The type of struct to copy. |
Remarks
This is useful for native interops with structs that may change over time. This allows new fields to be added to the C# struct without breaking data obtained from data calls.