# IsUnmanaged

> Checks whether the struct or type is unmanaged.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Collections.LowLevel.Unsafe](/engine/6000.6/script-reference/unity/collections/lowlevel/unsafe.md)
* **Assembly:** UnityEngine.CoreModule

## IsUnmanaged(Type)

Checks whether the struct or type is unmanaged.

```csharp
public static bool IsUnmanaged(Type type)
```

### Parameters

**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): The `System.Type` of a struct.

### Returns

| Type                                                          | Description                                   |
| ------------------------------------------------------------- | --------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if `type` is unmanaged, otherwise false. |

### Remarks

An unmanaged type contains no managed fields, and can be freely copied in memory.

## IsUnmanaged\<T>()

Checks whether the struct or type is unmanaged.

```csharp
public static bool IsUnmanaged<T>()
```

### Returns

| Type                                                          | Description                                   |
| ------------------------------------------------------------- | --------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if `type` is unmanaged, otherwise false. |

### Remarks

An unmanaged type contains no managed fields, and can be freely copied in memory.
