Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Compute

Compute a hash of input data string.
Read time 5 minutesLast updated 5 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule

Compute(string)

Compute a hash of input data string.
public static Hash128 Compute(string data)

Parameters

data

Input data string. Note that Unity interprets the string as UTF-8 data, even if internally in C# strings are UTF-16.

Returns

Type

Description

Hash128The 128-bit hash.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var hash = Hash128.Compute("The quick brown fox jumps over the lazy dog"); // prints "c79306aa46e8122b1b340724747e361d" Debug.Log(hash.ToString()); }}

Compute<T>(NativeArray<T>)

Compute a hash of input data.
public static Hash128 Compute<T>(NativeArray<T> data) where T : struct

Parameters

Input data array.

Returns

Type

Description

Hash128The 128-bit hash.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 10, 20, 30, 40, 50 }; var hash = Hash128.Compute(data); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}

Compute<T>(NativeArray<T>, int, int)

Compute a hash of a slice of input data.
public static Hash128 Compute<T>(NativeArray<T> data, int start, int count) where T : struct

Parameters

Input data array.

start

The first element in the data to start hashing from.

count

Number of array elements to hash.

Returns

Type

Description

Hash128The 128-bit hash.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 0, 10, 20, 30, 40, 50, 60 }; // will hash bytes: 10, 20, 30, 40, 50 var hash = Hash128.Compute(data, 1, 5); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}

Compute<T>(`<>[])

Compute a hash of input data.
public static Hash128 Compute<T>(T[] data) where T : struct

Parameters

data

Input data array.

Returns

Type

Description

Hash128The 128-bit hash.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 10, 20, 30, 40, 50 }; var hash = Hash128.Compute(data); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}

Compute<T>(`<>[], int, int)

Compute a hash of a slice of input data.
public static Hash128 Compute<T>(T[] data, int start, int count) where T : struct

Parameters

data

Input data array.

start

The first element in the data to start hashing from.

count

Number of array elements to hash.

Returns

Type

Description

Hash128The 128-bit hash.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 0, 10, 20, 30, 40, 50, 60 }; // will hash bytes: 10, 20, 30, 40, 50 var hash = Hash128.Compute(data, 1, 5); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}

Compute<T>(List<T>)

Compute a hash of input data.
public static Hash128 Compute<T>(List<T> data) where T : struct

Parameters

Input data array.

Returns

Type

Description

Hash128The 128-bit hash.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 10, 20, 30, 40, 50 }; var hash = Hash128.Compute(data); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}

Compute<T>(List<T>, int, int)

Compute a hash of a slice of input data.
public static Hash128 Compute<T>(List<T> data, int start, int count) where T : struct

Parameters

Input data array.

start

The first element in the data to start hashing from.

count

Number of array elements to hash.

Returns

Type

Description

Hash128The 128-bit hash.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 0, 10, 20, 30, 40, 50, 60 }; // will hash bytes: 10, 20, 30, 40, 50 var hash = Hash128.Compute(data, 1, 5); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}

Compute<T>(T)

Compute a hash of input data.
public static Hash128 Compute<T>(ref T val) where T : unmanaged

Parameters

val

T
Input value.

Returns

Type

Description

Hash128The 128-bit hash.

Remarks

The value must be an "unmanaged" C# type. Primitive types like int, float, bool, enums, pointers, or structs containing primitive types are all unmanaged types. See Unmanaged types in C# language reference.
The int and float overloads use a dedicated hashing code path that is optimized for 4-byte data sizes.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new Vector3(1.5f, 7.0f, 42.0f); var hash = Hash128.Compute(ref data); // prints "abc99ce06a8d7acca0714cd64d661808" Debug.Log(hash.ToString()); }}

Compute(int)

Compute a hash of input data.
public static Hash128 Compute(int val)

Parameters

val

Input value.

Returns

Type

Description

Hash128The 128-bit hash.

Remarks

The value must be an "unmanaged" C# type. Primitive types like int, float, bool, enums, pointers, or structs containing primitive types are all unmanaged types. See Unmanaged types in C# language reference.
The int and float overloads use a dedicated hashing code path that is optimized for 4-byte data sizes.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new Vector3(1.5f, 7.0f, 42.0f); var hash = Hash128.Compute(ref data); // prints "abc99ce06a8d7acca0714cd64d661808" Debug.Log(hash.ToString()); }}

Compute(float)

Compute a hash of input data.
public static Hash128 Compute(float val)

Parameters

Input value.

Returns

Type

Description

Hash128The 128-bit hash.

Remarks

The value must be an "unmanaged" C# type. Primitive types like int, float, bool, enums, pointers, or structs containing primitive types are all unmanaged types. See Unmanaged types in C# language reference.
The int and float overloads use a dedicated hashing code path that is optimized for 4-byte data sizes.

Examples

using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new Vector3(1.5f, 7.0f, 42.0f); var hash = Hash128.Compute(ref data); // prints "abc99ce06a8d7acca0714cd64d661808" Debug.Log(hash.ToString()); }}

Compute(void*, ulong)

Compute a hash of input data.
public static Hash128 Compute(void* data, ulong size)

Parameters

data

Raw data pointer, usually used with C# stackalloc data.

size

Data size in bytes.

Returns

Type

Description

Hash128The 128-bit hash.