> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour.md).

# LineProviderBehaviour

Class in [Yarn.Unity](/2.5/api/csharp/yarn.unity.md)

Inherits from `UnityEngine.MonoBehaviour`

## Summary

A `UnityEngine.MonoBehaviour` that produces [LocalizedLine](/2.5/api/csharp/yarn.unity/yarn.unity.localizedline.md) s, for use in Dialogue Views.

```csharp
public abstract class LineProviderBehaviour : MonoBehaviour
```

## Remarks

[DialogueRunner](/2.5/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md)s use a [LineProviderBehaviour](/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour.md) to get [LocalizedLine](/2.5/api/csharp/yarn.unity/yarn.unity.localizedline.md)s, which contain the localized information that [DialogueViewBase](/2.5/api/csharp/yarn.unity/yarn.unity.dialogueviewbase.md) classes use to present content to the player.

Subclasses of this abstract class may return subclasses of [LocalizedLine](/2.5/api/csharp/yarn.unity/yarn.unity.localizedline.md). For example, [AudioLineProvider](/2.5/api/csharp/yarn.unity/yarn.unity.audiolineprovider.md) returns an `AudioLocalizedLine`, which includes `UnityEngine.AudioClip`; views that make use of audio can then access this additional data.

## Methods

| Name                                                                                                                                            | Description                                                                                                                                                   |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetLocalizedLine(Yarn.Line)](/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.getlocalizedline.md) | Prepares and returns a [LocalizedLine](/2.5/api/csharp/yarn.unity/yarn.unity.localizedline.md) from the specified [Line](/2.5/api/csharp/yarn/yarn.line.md) . |
| [PrepareForLines(IEnumerable)](/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.prepareforlines.md) | Signals to the line provider that lines with the provided line IDs may be presented shortly.                                                                  |
| [Start()](/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.start.md)                                | Called by Unity when the [LineProviderBehaviour](/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour.md) has first appeared in the scene.             |

## Properties

| Name                                                                                                                             | Description                                                                                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [LinesAvailable](/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.linesavailable.md) | Gets a value indicating whether this line provider is ready to provide [LocalizedLine](/2.5/api/csharp/yarn.unity/yarn.unity.localizedline.md) objects. The default implementation returns `true` . |
| [LocaleCode](/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.localecode.md)         | Gets the user's current locale identifier, as a BCP-47 code.                                                                                                                                        |
| [YarnProject](/2.5/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour/yarn.unity.lineproviderbehaviour.yarnproject.md)       |                                                                                                                                                                                                     |

## See Also

* [DialogueViewBase](/2.5/api/csharp/yarn.unity/yarn.unity.dialogueviewbase.md): A `UnityEngine.MonoBehaviour` that can present lines and options to the user, when it receives them from a [DialogueRunner](/2.5/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) .
