Writing Custom Actions (Blueprints)
Other than using built-in actions, you can create your own via Blueprints.
Actions Base Class
When creating a new Blueprint class, inherit from ActionActorBase . Actions are essentially Actors that get spawned when needed, execute their logic and then get destroyed automatically.

DoAction Method
Then, all you need to do is overriding the “DoAction” method and write your code inside it.
Remember that actions pause the typewriter until they’re completed (for example, waiting for player input or until time has passed).

The
ActionMarkerinherited variable has useful info about your tag, for example the ID or if there are any parameters that come with it (e.g.<playSound=02>).The inherited
TypewriterRefreferences the component that is currently performing the actionThe
TypingInfoinherited struct contains information such as the current typing speed (which you can modify) and time passed inside the typewriter.
IMPORTANT! Remember to use the "Complete Current Action" node once your action is finished, as shown in the screenshot, to signal the typewriter to resume typewriting, or it will be left stuck in pause.
✅ Done!
Done! With this simple procedure, you can add any Custom Action you want.
P.S. Don't forget to add your Custom Action to an actions Database.