As part of my work at Brace Yourself Games, I created a Rich Text system for Industries of Titan.

Thanks to our Free Fridays, I had the time to improve the system, roll it up into a plugin and publish it on GitHub.

It’s still a work in progress but let me know what you think!

Rich Text Plugin for Unreal Engine 4

BYG Rich Text Library

Example rich text

This plugin for Unreal Engine 4 is an alternative to UE4’s built in rich text system.

It differs from Unreal’s default rich text implementation in a few ways:

  • Support for Markdown and customizable markup.
  • Support for nested styles.
  • Simple to extend supported text properties in C++.

Feature Comparison

Feature Unreal Rich Text BYG Rich Text
Nested styles :x: :heavy_check_mark:
Customizable syntax :x: :heavy_check_mark:
Markdown-like shortcuts :x: :heavy_check_mark:
Inline images :heavy_check_mark: :heavy_check_mark:
Style-based justification :x: (block only) :heavy_check_mark:
Style-base margins :x: (block only) :heavy_check_mark:
Inline tooltips :heavy_check_mark: :heavy_check_mark:
Customizable paragraph separator :x: :heavy_check_mark:
XML-like syntax :heavy_check_mark: :heavy_check_mark:
Datatable-based stylesheet :heavy_check_mark: :x:
Blueprint code support :heavy_check_mark: :x:

Usage

Creating a custom stylesheet

  1. Create a new Blueprint asset, with BYGRichTextStylesheet as the`parent class.
  2. Add styles to the stylesheet.
  3. Add properties to each style.
  • Each stylesheet can have one or more Styles.
  • Each style can hae one or more Properties applied to it.

Rich Text Properties

  • Font/Typeface
  • Text style: bold, italic and other styles.
  • Text size
  • Text color
  • Text case: force uppercase or lowercase
  • Text shadow (color and distance)
  • Margin: Add spacing between paragraphs.
  • Justification: Align text left, right or center.
  • Line Height: Change the spacing between lines.
  • Text Wrap
  • Background: Set a background color or image.

Download

For more information, see the BraceYourselfGames/UE4-BYGRichText GitHub page

Example rich text

Large Header

Some body text with emphasis and things in italics.

Block quotes are possible too

Secondary Header

$ Make up your own notation!

Why not @Proper Nouns@ and @Item Names@?