This tutorial showcases an example on how to use Verse fields events in a UMG User Widget to execute your Verse code using View Bindings, Verse, and Verse fields.
https://dev.epicgames.com/community/learning/tutorials/woOK/fortnite-using-verse-fields-events-in-a-umg-user-widget
Great video this is a game changer for devs for sure ![]()
UI is now getting so simple and easy to setup.
Just one quick thing tho unless i missed it i know its mentioned about the helper functions but are these always needed if you wish to use the widget event system ? or is this pre built into the system by epic so we only just do like .Await() ect like we normally would ?
Thank you in advance.
These helper functions are a recommended starting point to easily subscribe to events and you should copy this code to any project you’d like to use custom events in. That said, you may choose to write your own custom functions that add onto this base code as well!
Good afternoon sir,
Sorry i may have confused you what i mean is can we not just use EventName.Await() like we do with the button for example like ButtonName.Await() or must we have that helper in the tutorial for being able to use Await() ect from an event created through the widget ?
Like can we use Await() on the event without having those helpers in our utils file ? Just trying to understand if we must have them in our utils for the system to work or if they work anyways like all other devices ect as i assume Epic do the work behind the scenes hence why Button.Await() works ![]()
I hope this is a better explanation.
Ah, apologies for misunderstanding. Yes you can treat the events like any other event and call .Await() on them. They are of the event type which already exists.
Thank you for confirming and the quick response. I’m also sure i speak for all devs when i say congrats on this milestone for the team behind UI this will improve so many experiences ![]()
UMG widget editor is amazing and this is the cherry on top ![]()
Hi @Zeyjiii thank you for this tutorial! I’m a bit confused about the approach in the Verse Device code. When the AgentEntersEvent on MyVolume is called. We are initializing and adding the same single instance of the UW_FieldTest UMG Widget to all players. My understanding was that we need to create one UMG Widget instance for every player. Could you explain the reasoning behind adding a single instance to all players?
Likely just for showing in the tutorial as most devs who are looking at that would have previous knowledge on how to setup widgets for player/all players
As mentioned above, this was just for the purposes of this tutorial. Please swap out that code for your own use case in your project (1 UMG widget instance per player) ![]()
Thanks for the clarification! I understand it was simplified for the tutorial, but I’m concerned that for beginners, this might create a ‘hidden’ hurdle later on. I’ve actually seen this single-instance approach in two different tutorials now, and I worry it might be cementing a bad habit. Since UI behaviour in multiplayer depends so heavily on per-player instances, showing a global approach can lead to really confusing bugs when learners try to expand their projects. I think teaching the per-player mapping from the start would be a huge help in building those correct habits for the community.