Unsafe utility class.
AddressOf | The memory address of the struct. |
AlignOf | Minimum alignment of a struct. |
ArrayElementAsRef | Gets a reference to the array element at its current location in memory. |
As | Reinterprets the reference as a reference of a different type. |
AsRef | Gets a reference to the struct at its current location in memory. |
CheckForLeaks | Any memory allocated before this call, that hasn't already been freed, is assumed to have leaked. Prints a list of leaks. |
CopyObjectAddressToPtr | Assigns an Object reference to a struct or pinned class. Additional resources: UnsafeUtility.PinGCObjectAndGetAddress. |
CopyPtrToStructure | Copies sizeof(T) bytes from ptr to output. |
CopyStructureToPtr | Copies sizeof(T) bytes from input to ptr. |
EnumEquals | Determines whether the specified enums are equal without boxing. |
EnumToInt | Return integer representation of enum value without boxing. |
ForgiveLeaks | Tells the leak checking system to ignore any memory allocations made up to that point - if they leak, they are forgiven. |
Free | Free memory. |
FreeTracked | Free memory with leak tracking. |
GetFieldOffset | Returns the offset of the field relative struct or class it is contained in. |
GetLeakDetectionMode | Get whether leak detection is 1=disabled, 2=enabled, or 3=enabled with callstacks. |
IsBlittable | Returns whether the struct is blittable. |
IsNativeContainerType | Returns whether the struct or type is a Unity NativeContainer. A NativeContainer type uses the NativeContainerAttribute attribute. |
IsUnmanaged | Returns whether the struct or type is unmanaged. An unmanaged type contains no managed fields, and can be freely copied in memory. |
IsValidAllocator | Returns true if the allocator label is valid and can be used to allocate or deallocate memory. |
IsValidNativeContainerElementType | Returns whether the type is acceptable as an element type in native containers. |
Malloc | Allocate memory. |
MallocTracked | Allocate memory with leak tracking. |
MemClear | Clear memory. |
MemCmp | Checks to see whether two memory regions are identical or not by comparing a specified memory region in the first given memory buffer with the same region in the second given memory buffer. |
MemCpy | Copy memory. |
MemCpyReplicate | Copy memory and replicate. |
MemCpyStride | Similar to UnsafeUtility.MemCpy but can skip bytes via desinationStride and sourceStride. |
MemMove | Move memory. |
MemSet | Set memory to specified value. |
MemSwap | Swap the content of two memory buffers of the same size. |
PinGCArrayAndGetDataAddress | Keeps a strong GC reference to the object and pins it. The object is guranteed to not move its memory location in a moving GC. Returns the address of the first element of the array.Additional resources: UnsafeUtility.ReleaseGCObject. |
PinGCObjectAndGetAddress | Keeps a strong GC reference to the object and pins it. The object is guranteed to not move its memory location in a moving GC. Returns the address of the memory location of the object.Additional resources: UnsafeUtility.ReleaseGCObject. |
ReadArrayElement | Read array element. |
ReadArrayElementWithStride | Read array element with stride. |
ReleaseGCObject | Releases a GC Object Handle, previously aquired by UnsafeUtility.PinGCObjectAndGetAddress. |
SetLeakDetectionMode | Sets whether leak detection is 1=disabled, 2=enabled, or 3=enabled with callstacks. |
SizeOf | Size of struct. |
WriteArrayElement | Write array element. |
WriteArrayElementWithStride | Write array element with stride. |