A little bit late to the party, but I needed custom clickable text(button basically) inside my text. Your solution is great!.. But has major flaw, due to how wrap box works, as you discovered it yourself…
There are solutions on marketplace, but none of them were good for me, unless you want to do literally hyper link text, like in browser, but I want more, I want customization of my clickable text!(button it is).
Long story short: Convert whole text to string, parse it to array, make every word a separate widget with text only, unless it has some kind of tag like “#CharacterName”, then I’ll create custom button text widget(with clickable events, of course!). And put everything to wrap box. And if button widget contain more then one word, I customize it, so there is “first”, “last”, and “middle” button widgets variatns, with their own settings.
Obviously it’s VERY bad solution, optimization wise, you can improve it, by using only one textBox before any “#tag” encounter, and after paragraph ends, you can again use only one textbox for text.
If I could figure out how to detect if new word widget is being put at the beginning of a wrap box, I could again start using only one text block for text, until I encounter another “#tag”. That would help reduce the number of “textBlock” widgets, obviosly.
And of course, I highly recommend of utilizing all created text/button widgets, and not deleting and creating new ones all the time, I usually put them into array if I need to get rid of them, and removing them from array, if I need a new one. If I need a new one, and array is empty, only then I’ll create new widget. I forgot how it is called in programming, but it is not a new technique.
Simple hyper link solution from marketplace: UMG Graphic Text Pro in Code Plugins - UE Marketplace
Can put widgets into your text: Proto Animated Text in Code Plugins - UE Marketplace
Proto animated text basically doing what I want to do, but I prefer my own solution since it is more customizable by me. 