I created a custom Resource that holds String data, a time delay (used for if I want a break between text appearing), text speed, and an array of text effects. I then create an array of that Resource per level and can read in the data I want to a RichTextLabel, generating the string character by character (depending on text speed) and setting the text field of the label each time a character is generated
Viewing post in Learning Center : Platformer Edition comments
This is the video I watched that helped me get started with them: Custom Resources - A Godot Workflow GAME CHANGER
They are really useful for a lot of stuff in Godot, most recently I've used them for creating a bunch of items that share the same resource type.