# Line Provider

Line Providers are components that are responsible for taking the [Line](https://github.com/YarnSpinnerTool/YSDocs/blob/versions/2.3/docs/api/csharp/yarn/line/README.md) objects that the [Dialogue Runner](/2.3/using-yarnspinner-with-unity/components/dialogue-runner.md) produces, and fetches the appropriate localised content for that line. Line Providers produce [LocalizedLine](https://github.com/YarnSpinnerTool/YSDocs/blob/versions/2.3/docs/api/csharp/yarn.unity/localizedline/README.md) objects, which are sent to the Dialogue Runner's [Dialogue Views](/2.3/using-yarnspinner-with-unity/components/dialogue-view.md).

When a Yarn script runs, the Dialogue Runner produces Line objects. These objects contain information *about* the line, but not the text of the line itself. This is because it's the responsibility of the game to load the *user-facing* parts of the line, including the text of the line in the player's current language setting, as well as any other assets that may be needed to present the line (such as audio files for voiceover.)

Yarn Spinner comes with three built-in types of line providers:

* [Text Line Provider](/2.3/using-yarnspinner-with-unity/components/line-provider/text-line-provider.md) is a Line Provider that fetches the text of a line, given a language to use.
* [Audio Line Provider](/2.3/using-yarnspinner-with-unity/components/line-provider/audio-line-provider.md) is a Line Provider that fetches the text of a line as well as an [Audio Clip](https://docs.unity3d.com/ScriptReference/AudioClip.html), given languages to use.
* [Unity Localised Line provider](/2.3/using-yarnspinner-with-unity/components/line-provider/unity-localised-line-provider.md) is a Line Provider that fetches the text and any localised assets from [Unity's Localization system](/2.3/using-yarnspinner-with-unity/assets-and-localization/unity-localization.md).

{% hint style="info" %}
If you don't set up a Line Provider for a Dialogue Runner, it will automatically create a Text Line Provider, and configure it to use the user's current language.
{% 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.yarnspinner.dev/2.3/using-yarnspinner-with-unity/components/line-provider.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.
