# GetExistingUnmanagedSystem

> Return an existing instance of a system of type T in this World.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Entities](/engine/7000.0/script-reference/unity/entities.md)
* **Assembly:** UnityEngine.EntitiesModule

## GetExistingUnmanagedSystem\<T>()

Return an existing instance of a system of type `T` in this World.

```csharp
public SystemHandle GetExistingUnmanagedSystem<T>() where T : unmanaged, ISystem
```

### Returns

| Type                                                                           | Description                                                                                                     |
| ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| [SystemHandle](/engine/7000.0/script-reference/unity/entities/systemhandle.md) | The existing instance of system type `T` in this World. If no such instance exists, the method returns default. |

## GetExistingUnmanagedSystem(Type)

Return an existing instance of a system of type `type` in this World. Prefer the version that takes a SystemTypeIndex to avoid unnecessary reflection.

```csharp
[ExcludeFromBurstCompatTesting("Takes System.Type")]
public SystemHandle GetExistingUnmanagedSystem(Type type)
```

### Parameters

**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): The system type

### Returns

| Type                                                                           | Description                                                                                                                  |
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| [SystemHandle](/engine/7000.0/script-reference/unity/entities/systemhandle.md) | The existing instance of system type `type` in this World. If no such instance exists, the method returns SystemHandle.Null. |

## GetExistingUnmanagedSystem(SystemTypeIndex)

Return an existing instance of a system of type `type` in this World. This avoids unnecessary reflection.

```csharp
public SystemHandle GetExistingUnmanagedSystem(SystemTypeIndex type)
```

### Parameters

**** (\[SystemTypeIndex]\(/engine/7000.0/script-reference/unity/entities/systemtypeindex)): The system type

### Returns

| Type                                                                           | Description                                                                                                                  |
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| [SystemHandle](/engine/7000.0/script-reference/unity/entities/systemhandle.md) | The existing instance of system type `type` in this World. If no such instance exists, the method returns SystemHandle.Null. |
