# MLFeatureType

The `MLFeatureType` class is an abstract base class providing information that fully describes the structure of an [`MLFeature`](https://docs.natml.ai/unity/api/mlfeature).

{% hint style="info" %}
Every [`MLFeature`](https://docs.natml.ai/unity/api/mlfeature) has a corresponding `MLFeatureType`.
{% endhint %}

## Inspecting the Name

```csharp
/// <summary>
/// Feature name.
/// </summary>
string name { get; }
```

Some feature types include a name. This is usually the case with feature types provided by [`MLModel`](https://docs.natml.ai/unity/api/mlmodel) instances. However, most feature types attached to features do not have a name.

## Inspecting the Data Type

```csharp
/// <summary>
/// Feature data type.
/// This will typically be a numeric type.
/// </summary>
Type dataType { get; }
```

This is the data type of each element within a given feature. This is usually a signed numeric type.

## Type Conversions

```csharp
/// <summary>
/// Check if feature type is non-null.
/// </summary>
static implicit operator bool (MLFeatureType type);
```

The feature type provides an implicit conversion to `bool`, indicating whether the feature type is non-`null`.
