# SystemTypeIndex

> Provides a unique id for system types as well as quick lookup information about the system type itself. This value is fully deterministic at runtime but should not be considered deterministic across builds and thus should not be serialized.

## Definition

* **Type:** Struct
* **Namespace:** [Unity.Entities](/engine/7000.0/script-reference/unity/entities.md)
* **Assembly:** UnityEngine.EntitiesModule
* **Implements:** [IComparable\<SystemTypeIndex>](https://learn.microsoft.com/dotnet/api/system.icomparable-1), [IEquatable\<SystemTypeIndex>](https://learn.microsoft.com/dotnet/api/system.iequatable-1)

```csharp
public struct SystemTypeIndex : IComparable<SystemTypeIndex>, IEquatable<SystemTypeIndex>
```

## Fields

| Value                                                                            | Description                                         |
| -------------------------------------------------------------------------------- | --------------------------------------------------- |
| [Value](/engine/7000.0/script-reference/unity/entities/systemtypeindex/value.md) | Raw value used to identify System types at runtime. |

## Properties

| Property                                                                                                   | Description                                                                                                                                                   |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Flags](/engine/7000.0/script-reference/unity/entities/systemtypeindex/flags.md)                           | Type flags stored in Value                                                                                                                                    |
| [Index](/engine/7000.0/script-reference/unity/entities/systemtypeindex/index.md)                           | Zero-based index for the [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) stored in Value (the type index with no flags). |
| [IsGroup](/engine/7000.0/script-reference/unity/entities/systemtypeindex/isgroup.md)                       | The system type inherits from [ComponentSystemGroup](/engine/7000.0/script-reference/unity/entities/componentsystemgroup.md)                                  |
| [IsISystemStartStop](/engine/7000.0/script-reference/unity/entities/systemtypeindex/isisystemstartstop.md) | The system type inherits from [ISystemStartStop](/engine/7000.0/script-reference/unity/entities/isystemstartstop.md)                                          |
| [IsManaged](/engine/7000.0/script-reference/unity/entities/systemtypeindex/ismanaged.md)                   | The system type is a class and inherits from [ComponentSystemBase](/engine/7000.0/script-reference/unity/entities/componentsystembase.md).                    |

## Static Properties

| Property                                                                       | Description                                                                                                                                |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| [Null](/engine/7000.0/script-reference/unity/entities/systemtypeindex/null.md) | An invalid [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) which does not map to a valid System type. |

## Methods

| Method                                                                                           | Description                                                                                                                                     |
| ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| [CompareTo](/engine/7000.0/script-reference/unity/entities/systemtypeindex/compareto.md)         | Compare this [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) against a given one                           |
| [Equals](/engine/7000.0/script-reference/unity/entities/systemtypeindex/equals.md)               | [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) instances are equal if they refer to the same system type. |
| [GetHashCode](/engine/7000.0/script-reference/unity/entities/systemtypeindex/gethashcode.md)     | A hash used for comparisons.                                                                                                                    |
| [ToFixedString](/engine/7000.0/script-reference/unity/entities/systemtypeindex/tofixedstring.md) | Provides a Burst compatible debugging string.                                                                                                   |
| [ToString](/engine/7000.0/script-reference/unity/entities/systemtypeindex/tostring.md)           | Provides a debugging string.                                                                                                                    |

## Operators

| Operator                                                                                               | Description                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| [operator ==](/engine/7000.0/script-reference/unity/entities/systemtypeindex/op-equality.md)           | [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) instances are equal if they refer to the same system type. |
| [operator >](/engine/7000.0/script-reference/unity/entities/systemtypeindex/op-greaterthan.md)         | Evaluates if one [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) is greater than the other.                |
| [operator >=](/engine/7000.0/script-reference/unity/entities/systemtypeindex/op-greaterthanorequal.md) | Evaluates if one [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) is greater than or equal to the other.    |
| [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex/op-implicit.md)       | Implicit conversion from an int to a SystemTypeIndex.                                                                                           |
| [int](/engine/7000.0/script-reference/unity/entities/systemtypeindex/op-implicit.md)                   | Implicit conversion from SystemTypeIndex to an int.                                                                                             |
| [operator !=](/engine/7000.0/script-reference/unity/entities/systemtypeindex/op-inequality.md)         | [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) instances are equal if they refer to the same system type. |
| [operator \<](/engine/7000.0/script-reference/unity/entities/systemtypeindex/op-lessthan.md)           | Evaluates if one [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) is less than the other.                   |
| [operator \<=](/engine/7000.0/script-reference/unity/entities/systemtypeindex/op-lessthanorequal.md)   | Evaluates if one [SystemTypeIndex](/engine/7000.0/script-reference/unity/entities/systemtypeindex.md) is less than or equal to the other.       |
