Summary
When I remove and add back a widget canvas in quick succession, it now seems to take a moment to actually perform those actions. I was doing this to fix an unrelated issue where controller players were losing focus, but now, when I remove and add the widget canvas quickly, it takes a second or two to complete. The UI visibly flickers away, then returns. Before the latest update, this refresh happened so instantaneously that players wouldn’t even notice it.
This delay is causing controller players to get soft-locked again, but it’s still the only method I’ve found that reliably restores their focus. I need this to happen as quickly as it used to, but it seems this newly introduced delay in reassigning the canvas after a quick removal causes the focus to be incorrectly restored for controller users. Interestingly, if I add a Sleep(1.0) between removing the widget and adding it back, the focus returns properly every time. However, this makes the menu flicker very noticeable, which is jarring and off-putting for players.
Please select what you are reporting on:
Verse
What Type of Bug are you experiencing?
UI/Tools
Steps to Reproduce
Give the player a UI canvas with input all.
At some point, have the canvas run a function that removes the widget, and then immediately adds it back on the next line.
Expected Result
It should be almost undetectable that the canvas was ever removed and added and focus should be given back properly for controller players. The only indicator that it refreshed used to be that, on controller, the focus would snap to the top-left button, and on PC, the mouse would snap to the center of the screen.
Observed Result
Removing the canvas now takes a moment and doesn’t happen instantly. When it finally does get removed, you can clearly see the menu disappear for a split second before being returned to the player and controller player focus is bugged (looks I’m selected on that middle button swap, but I cannot move off of it at all, I should have been selected on the Prop Hunt button like video number 2 shows with a sleep time added in between).
Platform(s)
All
Upload an image
Video
With Sleep Delay → https://youtu.be/3Hcz1EXOe2w
With No Sleep Delay (also talking through the problems and why refresh needs to happen) → https://youtu.be/_Hobwg_X8Hs
Additional Notes
I just want to really emphasize that this breaks my entire menu system for controller players, who make up over half of my audience. This is an extremely serious bug for my game. I’ve pushed the limits of what’s possible with the UI system and had to implement numerous workarounds just to make things function decently across all platforms. This was purely a failsafe—and now that failsafe is broken.
I don’t have a backup for this failsafe without adding that delay, which I now feel forced to do just to prevent controller players from getting soft-locked. But as shown in that video, it results in a truly awful experience. It’s jarring, it’s obvious, and it’s not acceptable for something that used to be seamless.