Whenever the viewport is resized, my looping animation on a populated child widget inside a tile view widget seems to reset itself or somehow get off track. The issue persists even after the screen has been closed and then reopened.
Steps to Reproduce
I discovered that while you are resizing the viewport during runtime while a widget containing a TileView is present on screen, if the widgets that are populated in the TileView widget have a looping animation in them, the animation state of the repainted widgets off screen will reset themselves, even though I have told all the animations to sync to the same time. It works fine if the scrollbox is present when you first open the screen, but any widget out of view has this issue on viewport resize it seems.
Hi,
My guess here is that some of the tile widgets are fully culled (and won’t tick) but not being released, so their animation pauses but isn’t fully reset before they come back on-screen. We could dig into finding a solution if you’re committed to doing these animations through Sequencer (which is what we use for the UMG animation panel), but this may actually be a great candidate for a material-based animation. There are some examples in the Material Lab project (including a translation like the animation in your video), and the overhead should be a lot lower since we’re not needing to drive 10+ individual Sequencer animations to animate all of the upgrade arrows. The Profile Card example on the last page should give you a good starting point, you can look at M_UI_ProfileCard (and omit the Card section with the background) if that seems like a good approach for you. The sine function here is using the material’s Time node, so everything will already be synchronized without a need to manage the state when it’s created. Let me know if that will work for you, or if we should explore a workaround for implementing this with UMG Sequencer animations.
Best,
Cody
This has been a great solution! Thank you so much for the suggestion, it works great😁