It’s a common gotcha with randoms:
- the random node is evaluated every time it is accessed
- the Update of the TL fires ever frame
- this means you’re generating 60 (more, because you access it many times) different values every second
How to get the specific result of random item from array?
You can’t have both. What you can do:
- generate the random once, before the TL starts, before setting text
- store the result in a variable
- instead of sampling and re-evaluating the random many times, use the cached value in that variable
That’d be the very 1st thing to address, there may be more.