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
![](/assets/unreal/bygrichtext-output.webp)
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 | :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
- 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
![](/assets/unreal/bygrichtext-stylesheet.webp)
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@?