For the vertical bars you could shift texture coordinates of a material bound to a widget’s image.
Have a look at this crude example:
- I used this image:
- In this material:
- Hooked up to a widget’s image:
- Widget’s graph constructs a dynamic material instance and binds it as a brush:
The widget’s Tick will modify *vPosOffset *variable and push it to the material’s parameter; the up/down direction is controlled through neg/pos ClimbSpeed var.
End result (it’s smooth in game):
The blue arrow could be hooked up to a map ranged ClimbSpeed and shifted about in the canvas.
The text, hm, not sure if that’s the best idea but you could have 3 text blocks and map range shift them in the canvas in a similar fashion. You could let them slide off the canvas and ‘disappear’ only to snap them back to the very top/bottom.