Download

Trying to make typed text "animation" with widget blueprints

Trying to get text on a 3D widget to have text that looks like it’s being typed out when the player clicks on a button(Plan on changing it to when player looks at the button later). Here is what I tried, The first part is just to make sure the button is working(using Vive Motion Controller). The text is just set to be “slow text”.

Does it work? A clue as to what part of what you did isn’t working would be good.

@Allenheathx No it isn’t working. I’ve tried changed “string in” to an array and then changing it back to a string and then text and that work fine so I think it’s messing up some where in the loop. Maybe it has something to do with how “sting out” is set, or in the loop it self. “slow text” doesn’t end up getting changed at all, so I wonder if it’s even getting that far. If it went through the loop, even if it didn’t insert anything into “string out” I’d imagine “slow text” would just be empty instead of containing “clicked”.

Yeah i’d probably be in for a world of head ache trying to do this in unreal. You might have to build a customized function to replace the for each loop and set array element. You probably already know this but you can “Print String” directly from the for each loop to see what exactly it is outputting.

Below is a screenshot of a solution I threw together. As far as I know, you can’t put a delay after a loop, you would have to make a custom for loop macro with a delay built into it.
https://answers.unrealengine.com/questions/432539/need-help-with-loops-with-delay.html

Thanks a lot ste1nar. I’ll try it out. So instead of using the “loop” function this one just fires the “Add Text” event when there are still char in the string array left? Mind me asking why the “text to be be displayed” is set to an array pre construct? Just curious.

For your first question, that’s how it works yes.
For the second, well It’s mainly just to show how you could take a string, and divide the symbols up into an array. It could as well have been any other function. The reason it’s not in the Construct, is because that is executed every time the widget is displayed, so unnecessary processing and would even cause the array to increase every time. It may be better to do the array setup in a custom function.

Actually, if you want to avoid making a long array you can probably use the “Get Substring” node to pull characters directly from the string. The setup would be pretty much the same.