# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.natml.ai/unity/workflows/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
