> For the complete documentation index, see [llms.txt](https://docs.natml.ai/unity/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.natml.ai/unity/workflows/models.md).

# Fetching Models

The very first step in using ML in your app is fetching a model. NatML supports fetching models from different sources:

## Fetching from Hub

[NatML Hub](https://hub.natml.ai) is a platform for managing and deploying ML models.

![The NatML predictor catalog.](/files/8aHcHLzqKK2vTpCRyvCX)

NatML Hub provides a predictor catalog from which models can be fetched:

```csharp
// Create an edge model
var model = await MLEdgeModel.Create("@natsuite/yolox");
```

{% hint style="info" %}
You will need a NatML access key to fetch models from Hub. [See this guide](/unity/prelims/getting-started.md#specifying-your-natml-access-key) for how to get your access key.
{% endhint %}

{% hint style="success" %}
When you upload your model to [NatML Hub](https://hub.natml.ai/), we will automatically convert your model to CoreML, ONNX, and TensorFlow Lite, making your model cross-platform.
{% endhint %}

{% hint style="success" %}
Predictors fetched from NatML are cached on-device, so your users only ever have to download the model once.
{% endhint %}

## Using Model Files

NatML supports using [CoreML](https://developer.apple.com/machine-learning/core-ml/) (`.mlmodel`), [ONNX](https://onnx.ai/) (`.onnx`), and [TensorFlow Lite](https://www.tensorflow.org/lite) (`.tflite`) models. Simply drag and drop the model file into your Unity project. The model file is imported as an [`MLModelData`](broken://pages/-MZnPzKHyob8xevJ4VcU) instance.

![Dropping a CoreML model into Unity.](/files/N7hzd6RLw357sEYSPotB)

{% hint style="warning" %}
There are restrictions on what ML model files can be used on which platform. [See the docs](/unity/api/mlmodel/mledgemodel.md#from-a-model-file) for more info.
{% endhint %}
