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
BYG Rich Text Library
Example rich text
This plugin for Unreal Engine is an alternative to Unreal'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 | ![]() |
![]() |
Customizable syntax | ![]() |
![]() |
Markdown-like shortcuts | ![]() |
![]() |
Inline images | ![]() |
![]() |
Style-based justification |
![]() |
![]() |
Style-base margins |
![]() |
![]() |
Inline tooltips | ![]() |
![]() |
Customizable paragraph separator | ![]() |
![]() |
XML-like syntax | ![]() |
![]() |
Datatable-based stylesheet | ![]() |
![]() |
Blueprint code support | ![]() |
![]() |
Usage
Creating a custom stylesheet
- Create a new Blueprint asset, with
BYGRichTextStylesheet
as the`parent class. - Add styles to the stylesheet.
- 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/UE-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@?