docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class NativeCopyUtility

    Utilities for copying native arrays.

    Inheritance
    object
    NativeCopyUtility
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.XR.InteractionSubsystems
    Assembly: Unity.XR.InteractionSubsystems.dll
    Syntax
    public static class NativeCopyUtility

    Methods

    PtrToNativeArrayWithDefault<T>(T, void*, int, int, 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 T, which will be used to first fill the array before copying from source.

    void* source

    A pointer to a contiguous block of data of size sourceElementSize * length.

    int sourceElementSize

    The size of one element in source.

    int length

    The number of elements to copy.

    Allocator allocator

    The allocator to use when creating the NativeArray.

    Returns
    Type Description
    NativeArray<T>

    A new NativeArray populating with defaultT and source. The caller owns the memory.

    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.

    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)