Fusion.Common Abstract Async Operation Handler Built around the Result Type of the Async Operation Default Operation Timeout Internal Task Create a new Operation Handler Optional External Cancellation Token Optional Custom Operation Timeout Optional Custom Timeout Message Set the result of Async Operation Result to be set on the Operation Set the Async Operation as faulted using the Exception Exception to be set on the Operation Cancel the Async Operation via a Cancel the Async Operation via a Task Factory is used to create new Tasks and Schedule long running Tasks Stores a Task Factory ready made to be used with Unity Setup a new TaskFactory tailored to work with Unity Starts a service task that will invoke a recurring action at specified intervals. The action to be invoked at each interval. The cancellation token used to stop the service. The interval in milliseconds between each invocation of the action. An optional custom name for the service. A task representing the service. Start a Service Task that will invoke a Recurring Action every each interval in millis Action invoked every interval. It can return false to stop the service CancellationToken used to stop the service Interval between action invoke Custom id name for the Service Service Task Run an Action asynchronously Action to be invoked CancellationToken used to stop the Action Extra Task Creation options Async Task based on the Action Run a continuation Task after all other Tasks have completed List of pending tasks to wait Action to run after the Tasks ellationToken used to stop the Action Async Task based on the Action Custom Task Delay method as Task.Delay is not supported by WebGL Builds Delay in milliseconds to wait Cancellation Token used to stop the Delay Awaitable Task Represents an atomic integer that provides thread-safe operations. The underlying value of the atomic integer. Initializes a new instance of the struct with the specified value. The initial value of the atomic integer. Gets the current value of the atomic integer. Atomically increments the current value by one and returns the original value. The original value before the increment. Atomically increments the current value by one and returns the incremented value. The incremented value. Atomically decrements the current value by one and returns the decremented value. The decremented value. Atomically sets the value to the specified value and returns the original value. The value to set. The original value before the exchange. Compares the current value with a specified value and, if they are equal, replaces the current value. The value to set if the comparison succeeds. The value to compare to the current value. The original value before the comparison. Specifies that the attribute can be applied to fields only. Utility class for binary data. Converts a byte value to its hexadecimal string representation. The byte value to convert. A string representing the hexadecimal value of the byte. Converts a buffer of bytes to a hexadecimal string representation. A pointer to the buffer containing the bytes to convert. The number of bytes in the buffer. The number of columns to format the output. Default is 16. The string to use as a row separator. Default is newline. The string to use as a column separator. Default is a space. A string representing the hexadecimal values of the bytes in the buffer. Converts a buffer of 32-bit integers to a hexadecimal string representation. A pointer to the buffer containing the 32-bit integers to convert. The number of 32-bit integers in the buffer. The number of columns to format the output. Default is 4. The string to use as a row separator. Default is newline. The string to use as a column separator. Default is a space. A string representing the hexadecimal values of the 32-bit integers in the buffer. Converts a buffer of 32-bit unsigned integers to a hexadecimal string representation. A pointer to the buffer containing the 32-bit unsigned integers to convert. The number of 32-bit unsigned integers in the buffer. The number of columns to format the output. Default is 4. The string to use as a row separator. Default is newline. The string to use as a column separator. Default is a space. A string representing the hexadecimal values of the 32-bit unsigned integers in the buffer. Converts a hexadecimal string to a byte array. The hexadecimal string to convert. A pointer to the buffer where the bytes will be stored. The maximum number of bytes to store in the buffer. The number of characters processed from the input string. Converts a hexadecimal string to an array of 32-bit integers. The hexadecimal string to convert. A pointer to the buffer where the 32-bit integers will be stored. The maximum number of 32-bit integers to store in the buffer. A tuple containing the number of characters processed from the input string and the number of 32-bit integers stored in the buffer. Converts a byte array to its hexadecimal string representation. The byte array to convert. The number of columns to format the output. Default is 16. A string representing the hexadecimal values of the bytes in the array. Compress the byte array uisng GZip Original byte array Compressed byte array Decompress the byte array using GZip Compressed byte array Decompressed byte array Provides methods to compute CRC64 checksums. Computes the CRC64 checksum for the given data. A pointer to the data to compute the checksum for. The length of the data. The computed CRC64 checksum. Computes the CRC64 checksum for the given data with an initial CRC value and offset. The initial CRC value. A pointer to the data to compute the checksum for. The offset in the data to start computing the checksum from. The length of the data. The computed CRC64 checksum. Provides a set of methods to profile the engine. Callback for round trip time profiling. Callback for resimulations profiling. Callback for world snapshot size profiling. Callback for input size profiling. Callback for input queue profiling. Callback for RPC in profiling. Callback for RPC out profiling. Callback for state receive delta profiling. Callback for state receive delta deviation profiling. Callback for interpolation speed profiling. Callback for interpolation offset profiling. Callback for interpolation offset deviation profiling. Callback for input receive delta profiling. Callback for simulation speed profiling. Callback for input receive delta deviation profiling. Callback for simulation offset profiling. Callback for simulation offset deviation profiling. Begins a profiling sample with the specified name. The name of the profiling sample. Ends the current profiling sample. Invokes the round trip time callback with the specified value. The round trip time value. Invokes the resimulations callback with the specified value. The resimulations value. Invokes the world snapshot size callback with the specified value. The world snapshot size value. Invokes the input size callback with the specified value. The input size value. Invokes the input queue callback with the specified value. The input queue value. Invokes the RPC in callback with the specified value. The RPC in value. Invokes the RPC out callback with the specified value. The RPC out value. Invokes the state receive delta callback with the specified value. The state receive delta value. Invokes the state receive delta deviation callback with the specified value. The state receive delta deviation value. Invokes the interpolation speed callback with the specified value. The interpolation speed value. Invokes the interpolation offset callback with the specified value. The interpolation offset value. Invokes the interpolation offset deviation callback with the specified value. The interpolation offset deviation value. Invokes the input receive delta callback with the specified value. The input receive delta value. Invokes the input receive delta deviation callback with the specified value. The input receive delta deviation value. Invokes the simulation speed callback with the specified value. The simulation speed value. Invokes the simulation offset callback with the specified value. The simulation offset value. Invokes the simulation offset deviation callback with the specified value. The simulation offset deviation value. Interface for a Communicator Represents the current ID of the communicator. Sends a package data using the communication system Event Code used to send the Package Target Actor of the Package Flag if this Package should be sent reliably Data Buffer Buffer Length Retrieve a Data Package Data Package Sender Buffer to be filled with the Data Buffer length Total number of bytes written to buffer Check if there are data package to be retrieved True if the internal buffer has pendind data Push a new Package into the communicator queues Data Sender Actor Event Code of the Package Package Register a callback for a specific Message Type Message Type Callback to be invoked when a Message of type T is received Send a Protocol Message using the communicator system Target Actor of the Protocol Message Protocol Message to be sent Step the Communicator internals Represents a Protocol Message Used to tag the Messages in . Editor attribute for selecting the minimum and maximum length constraints for an array field. Initializes a new instance of the class with the specified length. The length of the array. Initializes a new instance of the class with the specified minimum and maximum lengths. The minimum length of the array. The maximum length of the array. Gets the minimum length of the array. Gets the maximum length of the array. Specifies that the attributed field represents the name of an assembly. Gets or sets a value indicating whether the assembly requires unsafe code. Specifies that the field represents binary data. Represents an attribute that specifies the number of bits in a bit set. Initializes a new instance of the class with the specified number of bits. The number of bits in the bit set. Gets the number of bits in the bit set. A base class for property attributes that decorate other property attributes. The default order of the attribute. Initializes a new instance with the default order. Initializes a new instance with the specified order. Casts an enum or int value in the inspector to specific enum type for rendering of its popup list. Supplying a method name rather than a type allows a property with the type Type to be used to dynamically get the enum type. Initializes a new instance of the class with the specified enum type. The type of the enum. Initializes a new instance of the class with the specified enum type member name. The name of the member that returns the enum type. Gets the type of the enum. Gets the name of the member that returns the enum type. Specifies the display name for a field. Field name to display. Initializes a new instance of the class with the specified name. The display name. Comparison method for evaluating condition member value against compareToValues. if condition member value equals compareToValue. if condition member value is not equal to compareToValue. if condition member value is less than compareToValue. if condition member value is less than or equal to compareToValue. if condition member value is greater than or equal to compareToValue. if condition member value is greater than compareToValue. Returns if the condition member evaluates to anything other than zero. In the case of object references, this means for any non- value. Returns if the condition member evaluates to zero. In the case of object references, this means for any value. Returns if the bitwise AND of the condition member and compareToValue is not zero. Editor attribute for selective editor rendering. Condition member can be a property, field or method (with a return value). Value of condition method is converted to a long or a double. = 0, = 0, = 1, Unity Object = InstanceId The double value to compare against. Is the value to compare against a double? The long value to compare against. The comparison operator to use. Condition member to evaluate. If , an error will be thrown if the condition member is not found. Initializes a new instance with a double value to compare against. Initializes a new instance with a long value to compare against. Initializes a new instance with a boolean value to compare against. A base class for property attributes that are used to draw properties in the inspector. Mode for the DrawIf attribute. If the condition is not met, should the field be hidden or just read-only? Field is read-only if the condition is not met. Field is hidden if the condition is not met. Editor attribute for selectively drawing/hiding fields. Condition member can be a property, field or method (with a return value). Value of condition method is converted to a long. = 0, = 0, = 1, Unity Object = InstanceId Instructs the attribute completely hide the field if not draw, rather than the default of just disabling it. Should the field be hidden if the condition is not met? Initializes a new instance that will hide the field if the condition member is not equal to zero. Specifies that a field should be drawn inline in the inspector. Specifies that a method should be displayed as a button in the Unity editor. The label text to display on the button. The visibility of the button in the Unity editor. The priority of the button. Buttons with higher priority are displayed first. Determines whether multiple targets are supported. Determines whether the object should be marked as dirty after clicking the button. Initializes a new instance of the class with the specified label, visibility, priority, and dirty object flag. The label text to display on the button. The visibility of the button in the Unity editor. The priority of the button. Buttons with higher priority are displayed first. Determines whether the object should be marked as dirty after clicking the button. Initializes a new instance of the class with the specified visibility, priority, and dirty object flag. The visibility of the button in the Unity editor. The priority of the button. Buttons with higher priority are displayed first. Determines whether the object should be marked as dirty after clicking the button. Specifies the visibility options for an editor button. The button is only visible in Play Mode. The button is only visible in Edit Mode. The button is always visible. Editor attribute for adding notices to fields if the condition member evaluates as . Condition member can be a property, field or method (with a return value). The default error text, when an error is shown. Should the error be shown as a box? Editor attribute that shows an enum as an expandable list of options in the inspector. Always expand the enum in the inspector (no foldout) Show the enum flags as buttons in the inspector. Show inline help for enum values in the inspector. Editor attribute to add a button that invokes a custom method in the inspector. Button label. Is it allowed to select multiple targets for the button? The method to invoke when the button is clicked. Initializes a new instance class with the specified label and target method. The label of the button The method to invoke when the button is clicked Attribute used to hide the label of an array element in the inspector. Initializes a new instance of the class. If applied to a field, checks if there is a help text for the field or the field's type and shows it in the inspector. Gets or sets a value indicating whether to show help for the type. Initializes a new instance of the class. Specifies that an int field should be drawn as a layer field in the inspector. Specifies that the integer array field should be drawn as a layer matrix in the inspector. Specifies that the string field should be drawn as a text field with a maximum byte count for given encoding. Initializes a new instance of the class with the specified byte count and encoding. Maximum byte count for the string. The encoding of the string. Represents an attribute that specifies a range of values for a field or property. Gets the maximum value of the range. Gets the minimum value of the range. Gets or sets a value indicating whether the minimum value should be clamped. Gets or sets a value indicating whether the maximum value should be clamped. Gets or sets a value indicating whether a slider should be used for the range. Initializes a new instance of the class with the specified minimum and maximum values. The minimum value of the range. The maximum value of the range. Attribute used to mark a field as read-only. Should the field be read-only in play mode? Should the field be read-only in edit mode? Specifies that a string field represents a scene path. Defines the appearance of the script header in the Unity inspector. Hide the script header in the Unity inspector. Color of the inspector header for this component type. None indicates no header graphic should be used. Style of the script header in the Unity inspector. Use the default Unity header style. Use the Photon header style. Icon to be rendered on the component graphic header in the Unity inspector. Color of the component graphic header in the Unity inspector. None indicates no header graphic should be used. Specifies that either a string field represents a type name or sets additional options for field. The base type of the picked type. Should the type be stored as a full assembly qualified name. Should a warning be shown if the field does not have a PreserveAttribute. Attribute used to show a type picker for a field with [SerializeReference]. Should the types be grouped by namespace? Should the full name be shown? Initializes a new instance of the class. The types to be picked. Gets the types to be picked. Specifies that the bool field should be drawn as the toggle on the left side of the label. Unit Type for a certain field. This helps to identify the unit that a certain value represents, like Seconds or Percentage ticks seconds - secs millisecs - ms kilobytes - kB megabytes - MB normalized - norm multiplier - mult % normalized % - n% degrees - \u00B0 per sec - /sec \u00B0 / sec - \u00B0/sec radians - rad radian / sec - rad/s ticks / sec - tck/s units - units bytes - bytes count - count packets - packets frames - frames fps - fps sqrMagnitude - sqrMag Unit Attribute class. Used to mark a field with the respective Selected Unit for the field. Initializes a new instance of the class with the specified unit. Specifies that the string field represents a key for Unity Addressables. Specifies that the string field represents a GUID of an asset. Specifies that the string field represents a path to a Unity resource. Initializes a new instance of the class with the specified resource type. The type of the resource. Editor attribute for adding notices to fields if the condition member evaluates as . Condition member can be a property, field or method (with a return value). The default warning text, when a warning is shown. Should the warning be shown as a box? Initializes a new instance that will hide the field if the condition member is not equal to zero. Base class for . The internal mask value. Constructor for . Constructor for . Constructor for . Implicitly convert to its long mask value. Associates and displays a 64 bit mask which represents the field members of a struct. Makes it possible to treat a Struct like an Flags Enum. NOTE: A attribute is required for proper rendering in the Inspector. Constructor for . Constructor for . Constructor for . Constructor for . Mask256 is a 256-bit mask that can be used to store 256 boolean values. Returns selected 64-bit value from the mask. Sets all bits to 0. Sets a specific bit in the mask. Returns a specific bit from the mask. Creates a new mask with specified initial values. Equivalent to mask[0] Converts a long value to a mask. Performs a logical-AND operation. Performs a logical-OR operation. Performs a logical-NOT operation. Returns if the masks are equal. Calculates the hash code of the mask. Returns if the masks are equal. Returns if the mask is empty. Converts the mask to a string in the form of "a:b:c:d". A System.Type wrapper that can be serialized. Type's assembly qualified name. Is the type valid. Create a new instance and stores full . To use shorter form, use . Type to store. Can be . Create a new instance and stores as . Type name. Retrieve the type. The value is obtained using and cached in a static Converts and returns a short form, without version, culture etc. Implicitly convert a to a . Implicitly convert a to a . Returns if the is the same. Returns if is and the is the same. Returns the hash code of the . Converts the to a shorter form, without version, culture etc. A generic version of that can be used to store types that inherit from a specific base type. The base type of the type stored A base class for ScriptableObjects that are meant to be globally accessible, at edit-time and runtime. The way such objects are loaded is driven by usages of attributes. Is this instance a global instance. Invoked when the instance is loaded as global. Invoked when the instance is unloaded as global. If the current instance is global, unsets and calls A singleton instance-like property. Loads or returns the current global instance. Derived classes can package it in a property with a different name. Throws if loading an instance failed. Returns true if a global instance is loaded. Compared to , it does not attempt to load an instance. Loads or returns the current global instance. Returns if loading an instance failed. Unloads the global instance if it is loaded. if an instance was unloaded Provides additional information for a global scriptable object. Creates a new instance. The default path for the asset. The default path for the asset. The default contents for the asset, if it is a TextAsset. Name of the method that is used to generate the default contents for the asset. Base class for all attributes that can be used to load . Attributes need to be registered at the assembly level. For instance, this snippet is used to register a default loader, that attempts to load from Resources based on : [assembly: Fusion.FusionGlobalScriptableObjectResource(typeof(Fusion.FusionGlobalScriptableObject), Order = 2000, AllowFallback = true)] Type or the base type of that this loader supports. Type or the base type of that this loader supports. Order in which this loader will be executed. Lower values are executed first. Can this loader be used in edit mode. Does this loader allow fallback to the next loader? Attempt to load the object of the specified type. Return if the object cannot be loaded. The requested type A delegate that can be used to unload a . The result of . Contains the loaded object and an optional unloader delegate. Object instance. An optional delegate that is used to unload . Object instance. An optional delegate that is used to unload . Implicitly converts a to a . Base class for all Fusion MonoBehaviours. Base class for all Fusion scriptable objects. Collection of simple JSON Utility methods Removes from a JSON serialized by Unity Serializer the "referenes" field. This aims to reduce the JSON size when sending accross the network JSON output of "JsonUtility.ToJson" call Same JSON but without the "referenes" object Math utility methods. Uses fieldoffset to allow quick setting of the sign bit of floats. Primary Compression Method. Converts a quaternion into a ulong buffer. Depending on size most of the top bits will be 0. The quaternion to be compressed A ulong buffer of the compressed quat. Primary Decompression Method. Decompress the 3 channels and missing channel ID from the serialized ULong buffer. The ulong that represents the compressed quaternion. The restored Quaternion. Represents a structure that allows quick setting of the sign bit of floats using field offsets. The mask used to clear the sign bit of a float. The unsigned integer representation of the float. The single-precision floating-point number. Returns the size of the specified unmanaged type in bits. The unmanaged type. The size of the type in bits. Calculates the number of bytes required to store the specified number of bits. The number of bits. The number of bytes required. Calculates the number of integers required to store the specified number of bits. The number of bits. The number of integers required. Calculates the number of bytes required to store the specified number of bits. The number of bits. The number of bytes required. Converts a byte array to a string representation of its bits. Pointer to the byte array. The number of bytes to convert. A string representation of the bits. Determines the number of bits required to represent the specified integer. The integer to evaluate. The number of bits required to represent the integer. Rounds a double value down to the nearest integer. The double value to round down. The largest integer less than or equal to the specified value. Rounds a double value up to the nearest integer. The double value to round up. The smallest integer greater than or equal to the specified value. Counts the number of bits set to 1 in a uint value, minus one. The uint value to count bits in. The number of bits set to 1, minus one. Determines the number of bits required to represent a uint value. The uint value to evaluate. The number of bits required to represent the value. Calculates the next power of two greater than or equal to a given uint value. The uint value to evaluate. The next power of two greater than or equal to the value. Counts the number of bits set to 1 in a ulong value. The ulong value to count bits in. The number of bits set to 1. Converts milliseconds to seconds. The time in milliseconds. The time in seconds. Converts seconds to milliseconds. The time in seconds. The time in milliseconds. Converts seconds to microseconds. The time in seconds. The time in microseconds. Converts microseconds to seconds. The time in microseconds. The time in seconds. Converts milliseconds to microseconds. The time in milliseconds. The time in microseconds. Performs cosine interpolation between two values. The start value. The end value. The interpolation factor, typically between 0 and 1. The interpolated value. Clamps an integer value to the range [0, 255] and returns it as a byte. The value to clamp. The clamped value as a byte. Encodes an integer using ZigZag encoding. The integer to encode. The ZigZag encoded integer. Decodes a ZigZag encoded integer. The ZigZag encoded integer to decode. The decoded integer. Encodes a long integer using ZigZag encoding. The long integer to encode. The ZigZag encoded long integer. Decodes a ZigZag encoded long integer. The ZigZag encoded long integer to decode. The decoded long integer. Clamps an integer value to the specified range. The value to clamp. The minimum value of the range. The maximum value of the range. The clamped value. Clamps an unsigned integer value to the specified range. The value to clamp. The minimum value of the range. The maximum value of the range. The clamped value. Clamps a double value to the specified range. The value to clamp. The minimum value of the range. The maximum value of the range. The clamped value. Clamps a float value to the specified range. The value to clamp. The minimum value of the range. The maximum value of the range. The clamped value. Clamps a double value to the range [0, 1]. The value to clamp. The clamped value. Clamps a float value to the range [0, 1]. The value to clamp. The clamped value. Linearly interpolates between two float values. The start value. The end value. The interpolation factor, typically between 0 and 1. The interpolated value. Linearly interpolates between two double values. The start value. The end value. The interpolation factor, typically between 0 and 1. The interpolated value. Returns the minimum of two unsigned integer values. The first value. The second value. The minimum value. Finds the index of the most significant set bit (1-bit) in a 32-bit integer. The 32-bit integer to scan. The index of the most significant set bit. Finds the index of the most significant set bit (1-bit) in a 32-bit unsigned integer. The 32-bit unsigned integer to scan. The index of the most significant set bit. Finds the index of the most significant set bit (1-bit) in a 64-bit integer. The 64-bit integer to scan. The index of the most significant set bit. Finds the index of the most significant set bit (1-bit) in a 64-bit unsigned integer. The 64-bit unsigned integer to scan. The index of the most significant set bit. Native Memory Allocator The alignment size in bytes. The size of the cache line in bytes. Moves a block of memory from the source to the destination. The destination pointer. The source pointer. The number of bytes to move. Copies a block of memory from the source to the destination. The destination pointer. The source pointer. The number of bytes to copy. Clears a block of memory by setting it to zero. The pointer to the memory block. The number of bytes to clear. Compares two blocks of memory. The first memory block pointer. The second memory block pointer. The number of bytes to compare. An integer that indicates the relative order of the memory blocks being compared. Allocates a block of memory. The number of bytes to allocate. A pointer to the allocated memory block. Thrown when the size is less than or equal to zero or exceeds the maximum allowed size. Frees a block of memory. The pointer to the memory block to free. Gets the size of the specified type. The type to get the size of. The size of the specified type in bytes. Gets the offset of the specified field. The field information. The offset of the specified field in bytes. Allocates and clears a block of memory. The number of bytes to allocate and clear. A pointer to the allocated and cleared memory block. Allocates and clears a block of memory for a specified type. The type of the memory block to allocate and clear. A pointer to the allocated and cleared memory block. Allocates a block of memory for a specified type. The type of the memory block to allocate. A pointer to the allocated memory block. Allocates and clears an array of memory blocks. The size of each element in the array. The number of elements in the array. A pointer to the allocated and cleared array of memory blocks. Allocates and clears an array of memory blocks for a specified type. The type of the elements in the array. The number of elements in the array. A pointer to the allocated and cleared array of memory blocks. Allocates and clears an array of memory blocks for a specified type, ensuring a minimum length of 1. The type of the elements in the array. The number of elements in the array. A pointer to the allocated and cleared array of memory blocks. Allocates and clears an array of pointers for a specified type. The type of the elements in the array. The number of elements in the array. A pointer to the allocated and cleared array of pointers. Allocates and clears an array of pointers for a specified type, ensuring a minimum length of 1. The type of the elements in the array. The number of elements in the array. A pointer to the allocated and cleared array of pointers. Copies a range of elements from one array to another. The source array pointer. The zero-based index in the source array at which copying begins. The destination array pointer. The zero-based index in the destination array at which storing begins. The number of elements to copy. The size of each element in bytes. Clears a range of elements in an array by setting them to zero. The type of the elements in the array. The pointer to the array. The number of elements to clear. Compares two arrays for equality. The type of the elements in the arrays. The pointer to the first array. The pointer to the second array. The number of elements to compare. An integer that indicates the relative order of the arrays being compared. Doubles the size of an array by expanding it to twice its current length. The type of the elements in the array. The pointer to the array to double. The current length of the array. A pointer to the new array with doubled size. Expands an array to a new specified length. The type of the elements in the array. The pointer to the array to expand. The current length of the array. The new length of the array. A pointer to the new expanded array. Doubles the size of an array of pointers by expanding it to twice its current length. The type of the elements in the array. The pointer to the array of pointers to double. The current length of the array. A pointer to the new array of pointers with doubled size. Expands an array of pointers to a new specified length. The type of the elements in the array. The pointer to the array of pointers to expand. The current length of the array. The new length of the array. A pointer to the new expanded array of pointers. Expands a buffer to a new specified size. The pointer to the buffer to expand. The current size of the buffer. The new size of the buffer. A pointer to the new expanded buffer. Copies memory quickly for specific sizes. The destination pointer. The source pointer. The number of bytes to copy. Copies elements from a managed array to an unmanaged memory location. The type of the elements in the array. The destination pointer. The source array. The number of bytes copied. Copies elements from an unmanaged memory location to a managed array. The type of the elements in the array. The destination array. The source pointer. The number of bytes copied. Gets the byte count of a UTF-8 encoded string with a length prefix. The string to encode. The byte count of the encoded string with the length prefix. Writes a length-prefixed UTF-8 encoded string to a memory location. The destination pointer. The string to encode and write. The number of bytes written. Reads a length-prefixed UTF-8 encoded string from a memory location. The source pointer. The resulting string. The number of bytes read. Checks if a pointer is aligned to a specified alignment. The pointer to check. The alignment to check against. True if the pointer is aligned, otherwise false. Aligns a pointer to a specified alignment. The pointer to align. The alignment to apply. The aligned pointer. Rounds a stride to the maximum alignment. The stride to round. The rounded stride. Calculates the word count for a given stride and word size. The stride to calculate. The size of each word. The word count. Checks if a stride is aligned to a specified alignment. The stride to check. The alignment to check against. True if the stride is aligned, otherwise false. Rounds a stride to a specified alignment. The stride to round. The alignment to apply. The rounded stride. Thrown when the alignment is invalid. Rounds a stride to a specified alignment. The stride to round. The alignment to apply. The rounded stride. Thrown when the alignment is invalid. Returns an empty instance of the specified unmanaged type. The type of the instance to return. An empty instance of the specified type. Rounds the given number of bits up to the nearest multiple of 64. The number of bits to round up. The rounded number of bits. Rounds the given number of bits up to the nearest multiple of 32. The number of bits to round up. The rounded number of bits. Gets the alignment of the specified unmanaged type. The type to get the alignment of. The alignment of the specified type. Gets the alignment of the specified stride. The stride to get the alignment of. The alignment of the specified stride. Gets the maximum alignment of two given strides. The first stride. The second stride. The maximum alignment of the two strides. Gets the maximum alignment of three given strides. The first stride. The second stride. The third stride. The maximum alignment of the three strides. Gets the maximum alignment of four given strides. The first stride. The second stride. The third stride. The fourth stride. The maximum alignment of the four strides. Gets the maximum alignment of five given strides. The first stride. The second stride. The third stride. The fourth stride. The fifth stride. The maximum alignment of the five strides. Converts a reference to an unmanaged type to a pointer. The type of the object. The reference to the object. A pointer to the object. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Allocates a block of memory and clears it. Attribute to mark a static field with a reset mode. Initializes a new instance of the class with the specified reset mode. The reset mode for the static field. Initializes a new instance of the class with the default reset mode. Gets the reset mode for the static field. Attribute to mark a method as a static field reset method. Initializes a new instance of the class with the specified automatic call flag. Indicates whether the method is called automatically. Initializes a new instance of the class. Attribute to mark a constructor as a static constructor. Specifies the reset mode for a static field. No reset mode. Manual reset mode. Reset method mode. Provides a set of methods to work with prime numbers. Determines whether the specified value is a prime number. The value to check for primality. true if the specified value is a prime number; otherwise, false. Gets the next prime number greater than the specified value. The value to find the next prime number for. The next prime number greater than the specified value. Thrown when there is no larger prime number in the table. Gets the next prime number greater than the specified unsigned value. The unsigned value to find the next prime number for. The next prime number greater than the specified unsigned value. Thrown when there is no larger prime number in the table. Represents a high-resolution timer. Creates and starts a new timer. A new instance of the struct. Gets the elapsed time in ticks. Gets the elapsed time in milliseconds. Gets the elapsed time in seconds. Gets a value indicating whether the timer is running. Starts the timer if it is not already running. Stops the timer if it is running and updates the elapsed time. Resets the timer to its initial state. Restarts the timer, setting the elapsed time to zero and starting it. Contains methods to setup runtime flags for Unity. Flags for BuildFlags Checks if the UNITY_WEBGL flag is set and updates the flagsDotNetVersion accordingly. Checks if the UNITY_XBOXONE flag is set and updates the flagsDotNetVersion accordingly. Checks if the UNITY_GAMECORE flag is set and updates the flagsDotNetVersion accordingly. Checks if the UNITY_EDITOR flag is set and updates the flagsDotNetVersion accordingly. Checks if the UNITY_SWITCH flag is set and updates the flagsDotNetVersion accordingly. Checks if the UNITY_2019_4_OR_NEWER flag is set and updates the flagsDotNetVersion accordingly. Flags for BuildTypes Checks if the ENABLE_MONO flag is set and updates the flagsDotNetVersion accordingly. Checks if the ENABLE_IL2CPP flag is set and updates the flagsDotNetVersion accordingly. Flags for DotNetVersion Checks if the NET_4_6 flag is set and updates the flagsDotNetVersion accordingly. Checks if the NETFX_CORE flag is set and updates the flagsDotNetVersion accordingly. Checks if the NET_STANDARD_2_0 flag is set and updates the flagsDotNetVersion accordingly. Resets all runtime flags to their default values. UTF32Tools provides a set of methods to work with UTF32 encoded strings. Converts a UTF-16 encoded string to a UTF-32 encoded representation. The UTF-16 encoded string to convert. A pointer to the destination buffer where the UTF-32 encoded result will be stored. The capacity of the destination buffer. A ConversionResult containing the number of characters and code points processed. Converts a UTF-16 encoded string to a UTF-32 encoded representation. A pointer to the UTF-16 encoded string to convert. The length of the UTF-16 encoded string. A pointer to the destination buffer where the UTF-32 encoded result will be stored. The capacity of the destination buffer. A ConversionResult containing the number of characters and code points processed. Gets the length of a UTF-32 encoded string. The UTF-16 encoded string to measure. The length of the UTF-32 encoded string. Enumerates the characters in a UTF-32 encoded string. Initializes a new instance of the struct. A pointer to the UTF-32 encoded string. The length of the UTF-32 encoded string. Gets the current character in the enumeration. Releases all resources used by the . Advances the enumerator to the next character in the UTF-32 encoded string. true if the enumerator was successfully advanced to the next character; false if the enumerator has passed the end of the string. Sets the enumerator to its initial position, which is before the first character in the UTF-32 encoded string. Represents the result of a conversion operation, containing the number of characters and code points processed. Gets the number of characters processed. Gets the number of code points processed. Initializes a new instance of the struct. The number of code points processed. The number of characters processed. The Versioning class provides methods and properties related to versioning. Represents an invalid version with all components set to zero. Gets the current version of the assembly. Get the short version of the version. The version to get the short version of. Gets the assembly version as a string. The assembly version as a string.