Quick answer: Godot RichTextLabel showing the literal text [color=red]Hello[/color] instead of rendering it? bbcode_enabled is off, or the tag syntax is malformed.
A dialog system prints colored text via BBCode but the brackets show as plain text. The RichTextLabel hasn’t parsed them as BBCode.
Enable BBCode
RichTextLabel has bbcode_enabled = false by default. Set it true. After that, text is parsed as BBCode. Without the flag, every bracket is text.
Use Append Methods
rich_label.append_text("[color=red]Danger[/color]")Appends parsed BBCode. Setting text works too but rebuilds the entire content; append is cheaper for accumulating output.
Verify Tag Closing
Unmatched tags (open with no close) silently swallow following text or render incorrectly. Run a validator if users author BBCode — tag stack must balance.
Custom Colors
Named colors (red, blue, etc.) work; hex strings work: [color=#FFAA00]text[/color]. Custom colors register via RichTextEffect.
Verifying
BBCode renders styled text; tags don’t appear literally; colors and formatting apply consistently.
“bbcode_enabled = true. After that, brackets render as BBCode.”
Use a tiny BBCode validator if your dialog system accepts user-authored text — an unmatched tag swallows half the next paragraph.