metyatech Unreal Engine Plugins

Documentation for Unreal Engine plugins by metyatech

View the Project on GitHub metyatech/unreal-plugin-docs

Runtime Unicode Text

Back to plugin list

Version: 0.1.0

Overview

Runtime Unicode Text is an Unreal Engine Code Plugin for rendering runtime Unicode text in world space. It supports two workflows:

Slate performs shaping and rasterization, and the plugin uses a shared, plugin-owned GPU glyph atlas. It does not require a Widget Component, UMG, or Text3D. While the application is running, SetText can change the component to text that contains previously unused characters.

Version 0.1.0 has been validated on Unreal Engine 5.8 / Win64. Real-font integration testing covers Japanese text, Latin text, mixed Latin/Japanese/numeric text, 龍鬱鶴, and multiline text. This release does not provide broad script certification.

Requirements

UE 5.7 and earlier, and platforms other than Win64, are not certified by this release.

Installation

From Fab

  1. Acquire Runtime Unicode Text from Fab.
  2. Install it for the supported Engine version.
  3. Open the project.
  4. Open Edit > Plugins.
  5. Enable Runtime Unicode Text.
  6. Restart the editor if requested.

Project Plugin / Source Checkout

For development workflows where you already have repository access, the plugin root is:

<Project>/Plugins/RuntimeUnicodeText/

Place the plugin checkout at that path, then use the project’s normal source build workflow.

Quick Start — Actor

  1. From Place Actors, place the Runtime Unicode Text Actor.
  2. Select its root Runtime Unicode Text Component.
  3. Set Font to a Runtime Cached UFont.
  4. Set Text, for example, to こんにちは世界.
  5. Adjust WorldSize, Color, and alignment.
  6. Check the result in PIE.

The Actor owns a RuntimeUnicodeTextComponent as its root component. The component is the source of truth; the Actor has no separate rendering state.

The Aあ Billboard/Class icon shown in the editor is editor-only and does not affect packaged rendering.

Quick Start — Component

Add Runtime Unicode Text Component to an existing custom Actor and configure that component directly. The component is the source of truth for:

Use the Component workflow when the text should be part of an existing custom Actor rather than a separately placed text Actor.

Properties

Property Contract
Text Unicode text. Explicit newline is supported.
Font Runtime Cached UFont.
WorldSize Font em height in world units. Default 80.0; minimum 0.01.
Color Rendered vertex/material color.
HorizontalAlignment Left / Center / Right.
VerticalAlignment Top / Center / Bottom.

Blueprint API

The component’s public Blueprint-callable functions are:

SetText
SetFont
SetColor
SetWorldSize

The Actor also provides this BlueprintPure getter:

Get Runtime Unicode Text Component

Example:

Event BeginPlay
  → Get Runtime Unicode Text Component
  → SetText (New Text: こんにちは世界)

Font Behavior

The formal recommendation is to set an explicit project-owned Runtime Cached UFont.

When Font == nullptr, the current Win64 implementation checks %WINDIR%\Fonts\ for an installed font in this order:

NotoSansJP-VF.ttf
YuGothM.ttc
meiryo.ttc

This fallback depends on the PC environment. Do not rely on it for a portable or reproducible packaged result; use an explicit Runtime Cached UFont instead.

The plugin package does not include the Noto Sans JP font itself. The Noto Sans JP font used by the Sample is a Sample-side third-party dependency and is not included in the Plugin product.

Runtime Rendering Behavior

Packaging

No other platform is implied by this packaging validation.

Performance / Glyph Cache

Limitations

Troubleshooting

Text does not appear

Check the following:

If Font is unset and no installed fallback font is found, the implementation logs:

RUNTIME_UNICODE_TEXT no Runtime Cached UFont or installed default font

Packaged output uses a different or missing font

Do not depend on the system fallback. Set an explicit project-owned Runtime Cached UFont and ensure that the font asset is included in the packaged build.

First appearance of new text hitches

The first use of new text may perform Slate shaping and rasterization and populate the glyph atlas. Avoid updating many components with new text at the same time when a hitch is unacceptable.

Missing characters

Confirm that the selected font contains the missing glyphs. The plugin does not provide font downloading or a font fallback package.

Sample / Verification

The companion RuntimeUnicodeTextSample project is used for integration verification. The Sample owns the Noto Sans JP Runtime Cached font asset.

Its real-font test is:

RuntimeUnicodeTextSample.Layout.RealNotoSansJP

The test verifies Japanese text, mixed Latin/Japanese/numeric text, 龍鬱鶴, and multiline text. The Sample font is not included in the Plugin package.

Version History

0.1.0