# GetOSInstalledFontNames()

> Get names of fonts installed on the machine.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.TextRenderingModule

```csharp
public static string[] GetOSInstalledFontNames()
```

### Returns

| Type                                                               | Description                                                  |
| ------------------------------------------------------------------ | ------------------------------------------------------------ |
| [string\[\]](https://learn.microsoft.com/dotnet/api/system.string) | An array of the names of all fonts installed on the machine. |

### Remarks

GetOSInstalledFontNames lets you get the names of all the fonts installed on the machine. These names can be passed to [Font.CreateDynamicFontFromOSFont](/engine/6000.0/script-reference/unityengine/font/createdynamicfontfromosfont.md), to dynamically render text using any font installed on the user's OS.

### Examples

```csharp
using UnityEngine;
using System.Collections;

// A simple UI to display a selection of OS fonts and allow changing the UI font to any of them.
public class FontSelector : MonoBehaviour
{
    Vector2 scrollPos;
    string[] fonts;

    void Start()
    {
        fonts = Font.GetOSInstalledFontNames();
    }

    void OnGUI()
    {
        scrollPos = GUILayout.BeginScrollView(scrollPos);

        foreach (var font in fonts)
        {
            if (GUILayout.Button(font))
                GUI.skin.font = Font.CreateDynamicFontFromOSFont(font, 12);
        }
        GUILayout.EndScrollView();
    }
}
```
