VerseIsland
Feed Learn Leaderboard Guides Reference Explore Search Docs Verse Library
Sign in
Feed Learn 📖 Codex Leaderboard Guides Reference Explore Search Docs Verse Library
Verse Library › UI
Browse Verse Library

Library

Devices 634
  • Devices171
  • Triggers & Logic118
  • UI & HUD40
  • Audio39
  • Items & Inventory29
  • Events27
  • Scoring & Objectives25
  • Spawning19
  • Classes & Interfaces18
  • Game Modes17
  • Props & Meshes14
  • Variables & Mutability12
  • Player Management11
  • Modules & Structure10
  • Round Flow8
  • Animation6
  • Concurrency6
  • Functions6
  • Getting Started6
  • Teams & Classes6
  • NPCs & AI5
  • Tutorials5
  • VFX & Particles5
  • Arrays & Maps4
  • Cameras4
  • Debugging4
  • Control Flow3
  • Cinematics2
  • Other2
  • Persistence2
  • Scene Graph2
  • Structs & Enums2
  • Building1
  • Physics1
  • Publishing & Islands1
  • Syntax & Types1
  • Vehicles1
  • Weapons1
Verse Language 257
  • Control Flow35
  • Functions26
  • Arrays & Maps25
  • Classes & Interfaces22
  • Variables & Mutability22
  • Concurrency21
  • Syntax & Types18
  • Modules & Structure12
  • Debugging8
  • Devices8
  • Events7
  • Player Management6
  • Structs & Enums6
  • Triggers & Logic6
  • Game Modes5
  • Failure & Options4
  • Scene Graph4
  • UI & HUD4
  • Getting Started3
  • Round Flow3
  • Spawning3
  • VFX & Particles3
  • Reference2
  • Animation1
  • Best Practices1
  • Other1
  • Props & Meshes1
Materials/VFX 154
  • Triggers & Logic27
  • UI & HUD17
  • Devices16
  • VFX & Particles14
  • Props & Meshes11
  • Scoring & Objectives9
  • Game Modes7
  • Items & Inventory7
  • Functions6
  • Arrays & Maps5
  • Animation3
  • Cinematics3
  • Classes & Interfaces3
  • Control Flow3
  • Events3
  • Modules & Structure3
  • Round Flow3
  • Spawning3
  • Getting Started2
  • Scene Graph2
  • Variables & Mutability2
  • Concurrency1
  • Persistence1
  • Player Management1
  • Structs & Enums1
  • Syntax & Types1
General 153
  • Devices22
  • Events20
  • Triggers & Logic20
  • Classes & Interfaces10
  • Variables & Mutability8
  • Round Flow6
  • Scoring & Objectives6
  • UI & HUD6
  • Functions5
  • Player Management5
  • Game Modes4
  • Getting Started4
  • Props & Meshes4
  • Control Flow3
  • Syntax & Types3
  • VFX & Particles3
  • Arrays & Maps2
  • Best Practices2
  • NPCs & AI2
  • Other2
  • Physics2
  • Scene Graph2
  • Spawning2
  • Structs & Enums2
  • Tutorials2
  • Building1
  • Cameras1
  • Cinematics1
  • Failure & Options1
  • Items & Inventory1
  • Teams & Classes1
Player 133
  • Player Management22
  • Teams & Classes19
  • Classes & Interfaces12
  • Devices11
  • Events9
  • Persistence7
  • Triggers & Logic7
  • Arrays & Maps6
  • Functions4
  • Game Modes4
  • Items & Inventory4
  • Round Flow4
  • Debugging3
  • Getting Started3
  • Modules & Structure3
  • Concurrency2
  • Control Flow2
  • Scoring & Objectives2
  • Spawning2
  • Structs & Enums2
  • Physics1
  • Props & Meshes1
  • UI & HUD1
  • Variables & Mutability1
  • Weapons1
Building & Props 131
  • Variables & Mutability15
  • Props & Meshes14
  • Triggers & Logic12
  • Classes & Interfaces10
  • Devices10
  • UI & HUD10
  • Events7
  • Teams & Classes7
  • Animation5
  • Building5
  • Functions5
  • VFX & Particles5
  • Structs & Enums4
  • Control Flow3
  • Game Modes3
  • Items & Inventory3
  • Round Flow3
  • Scene Graph3
  • Arrays & Maps2
  • Concurrency2
  • Reference2
  • Modules & Structure1
NPCs & AI 76
  • NPCs & AI35
  • Spawning7
  • Animation5
  • Variables & Mutability5
  • Classes & Interfaces3
  • Debugging3
  • UI & HUD3
  • Audio2
  • Concurrency2
  • Game Modes2
  • Props & Meshes2
  • Triggers & Logic2
  • Devices1
  • Functions1
  • Getting Started1
  • Reference1
  • VFX & Particles1
Spawning 73
  • Spawning31
  • Events7
  • Concurrency6
  • Player Management6
  • Vehicles5
  • Props & Meshes4
  • Devices3
  • Scene Graph3
  • Items & Inventory2
  • Teams & Classes2
  • Control Flow1
  • Publishing & Islands1
  • Reference1
  • Scoring & Objectives1
Cinematics 71
  • Cameras19
  • Cinematics15
  • Devices11
  • Audio5
  • Animation4
  • Triggers & Logic4
  • Functions2
  • Game Modes2
  • UI & HUD2
  • Classes & Interfaces1
  • Concurrency1
  • Control Flow1
  • Items & Inventory1
  • Modules & Structure1
  • Scene Graph1
  • Templates1
UI 57
  • UI & HUD35
  • Devices5
  • Scoring & Objectives4
  • Classes & Interfaces3
  • Round Flow2
  • Scene Graph2
  • Arrays & Maps1
  • Props & Meshes1
  • Structs & Enums1
  • Templates1
  • Triggers & Logic1
  • Variables & Mutability1
Scene Graph 40
  • Scene Graph9
  • Items & Inventory8
  • Classes & Interfaces3
  • Events3
  • Props & Meshes3
  • Functions2
  • Arrays & Maps1
  • Building1
  • Control Flow1
  • Debugging1
  • Modules & Structure1
  • Player Management1
  • Reference1
  • Structs & Enums1
  • Syntax & Types1
  • Triggers & Logic1
  • UI & HUD1
  • VFX & Particles1
Vehicles 38
  • Spawning11
  • Devices7
  • Vehicles7
  • Props & Meshes4
  • Functions2
  • Game Modes2
  • Failure & Options1
  • Items & Inventory1
  • Reference1
  • Teams & Classes1
  • Tutorials1
Tutorials 37
  • Game Modes6
  • Triggers & Logic5
  • Classes & Interfaces4
  • Events4
  • Props & Meshes3
  • Building2
  • Devices2
  • Items & Inventory2
  • Scoring & Objectives2
  • Animation1
  • Arrays & Maps1
  • Cameras1
  • Concurrency1
  • Physics1
  • Player Management1
  • Structs & Enums1
Weapons 30
  • Game Modes6
  • Weapons6
  • Devices5
  • Items & Inventory3
  • Scoring & Objectives3
  • Spawning2
  • Teams & Classes2
  • Best Practices1
  • Functions1
  • Triggers & Logic1
Items 28
  • Items & Inventory23
  • Devices2
  • Triggers & Logic2
  • Spawning1
Assets 20
  • Modules & Structure6
  • Arrays & Maps3
  • Functions3
  • Scene Graph2
  • Best Practices1
  • Devices1
  • Events1
  • Failure & Options1
  • Physics1
  • Variables & Mutability1
Animation 19
  • Animation10
  • Variables & Mutability4
  • Devices1
  • Player Management1
  • Props & Meshes1
  • Scene Graph1
  • Syntax & Types1
Release Notes 17
  • Classes & Interfaces5
  • Modules & Structure3
  • Concurrency2
  • Control Flow2
  • Variables & Mutability2
  • Debugging1
  • Devices1
  • Items & Inventory1
Input & Controls 16
  • Functions4
  • UI & HUD3
  • Control Flow2
  • Animation1
  • Arrays & Maps1
  • Cinematics1
  • Debugging1
  • Devices1
  • Events1
  • Items & Inventory1
Publishing 8
  • Control Flow5
  • Arrays & Maps1
  • Devices1
  • Syntax & Types1
Audio 7
  • Audio5
  • UI & HUD2
Landscape 7
  • Other4
  • VFX & Particles2
  • Scene Graph1
Persistence 6
  • Structs & Enums2
  • Items & Inventory1
  • Persistence1
  • Publishing & Islands1
  • Variables & Mutability1
Physics 5
  • Functions2
  • Classes & Interfaces1
  • Devices1
  • Syntax & Types1
Creator Economy 3
  • Publishing & Islands2
  • Modules & Structure1
Discovery 3
  • Devices1
  • NPCs & AI1
  • Structs & Enums1
Editor & Project 3
  • Other1
  • Props & Meshes1
  • Tutorials1

Custom Art Popup UI

Module — 2 files
These files compile together (same module folder).
ez_ui_popup.verse
<#

    A generic pop-up box which can be used for a variety of purposes
    in games such as notifications, NPC dialogue, tooltips, weclome
    messages, ect..

#>


using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

#imports
using { /UnrealEngine.com/Temporary/UI }
using { /Fortnite.com/UI }
using { /Verse.org/Colors }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using {EZUI}

EZ_PopUpManager := class () 
{
    <# 
        adjusts the general UI position on-screen by pixels based upon a 1080p resolution
        be aware that button's have no DefaultDesiredSize so their margin's will need to
        be manually adjusted as you move the pop-up around
    #>
    var UI_Pos_Horizonal : float = 0.0
    var UI_Pos_Vertical: float = 0.0

    EZ_LinkedCreativeDevice<public> : ez_ui_popup           # a backreference to the device that created this EZUI class
    EZ_LinkedPlayer<public> : player                         # the player linked to this instance of the EZUI class
    EZ_UI_ID<public> : int                                  # used to control what UI is initialised by the class
    EZ_PopUpBoxMsg<public> : message                        # the pop up box text
    EZ_PopUpButtonMsg<public> : message                     # the pop up button text
    
    var IsInitialized<private> : logic = false              # a lock to prevent recreating the canvas after the first execution of Initialize()
    var MainCanvas<private> : canvas = canvas{}             # the canvas that holds all the screen elements and will be added to the PlayerUI

    #Interactive UI components
    CustomPopUpButton<private>:button_quiet = button_quiet{}

    #FNC Visual UI Components
    <# 
        Design your visible UI widgets here which use the default FNC gfx
        don't bother using DefaultText as it is handled within Ini()
    #>

    DefaultPopUpBox<private> : color_block = color_block
    {
        DefaultColor := color{R := 0.0, G := 0.0, B := 1.0}
        DefaultOpacity := 0.9
        DefaultDesiredSize := vector2{X := 600.0, Y := 115.0}
    }

    DefaultPopUpBoxOutline<private> : color_block = color_block
    {
        DefaultColor := color{R := 1.0, G := 1.0, B := 1.0}
        DefaultOpacity := 1.0
        DefaultDesiredSize := vector2{X := 605.0, Y := 120.0}
    }

    DefaultPopUpBoxText <private> : text_block = text_block
    {
        DefaultTextColor := color{R := 1.0, G := 1.0, B := 1.0}
    }

    DefaultPopUpButton <private> : button_loud = button_loud{}
    


    # do all the things
    Ini<public>() : void =
        if (IsInitialized?): 
            return

        set UI_Pos_Horizonal = EZ_LinkedCreativeDevice.PositionHorizontal
        set UI_Pos_Vertical = EZ_LinkedCreativeDevice.PositionVertical

        if(EZ_UI_ID = 1): #uses default Fortnite UI gfx
            DefaultPopUpButton.OnClick().Subscribe(CloseUIButtonClick)
            DefaultPopUpBoxText.SetText(EZ_PopUpBoxMsg)
            DefaultPopUpButton.SetText(EZ_PopUpButtonMsg)
            PopUp_1()
        
        if(EZ_UI_ID = 2): #uses your imported UI gfx
            CustomPopUpButton.OnClick().Subscribe(CloseUIButtonClick)
            PopUp_2()
        
       
    #.........................


    OpenUI<public>() : void =
        if (PlayerUI := GetPlayerUI[EZ_LinkedPlayer]):
            PlayerUI.AddWidget(GetMainCanvas(), player_ui_slot{InputMode := ui_input_mode.All}) #all canvas and content interactions active
    
    
    # closes UI
    CloseUI<public>()<suspends> : void =
        EZUI.DeleteWidget(EZ_LinkedPlayer,  GetMainCanvas())

    #.........................

    GetMainCanvas<public>() : canvas = MainCanvas  # Exposes the class Canvas to public

    CloseUIButtonClick<private>(WidgetEvent : widget_message) : void = 
        if (PlayerUI := GetPlayerUI[WidgetEvent.Player]):
            spawn{CloseUI()}

    # Builds a canvas using default FNC UI
    PopUp_1 <private>() : void =

        UIWrapper := canvas
        {
            Slots:=array 
            {
                canvas_slot
                    {
                        Anchors := anchors{Minimum := vector2{X := 0.5 , Y := 0.5}, Maximum := vector2{X := 0.5, Y := 0.5}}
                        Offsets := margin{Top := 0.0, Left := 0.0, Right := 0.0, Bottom := 0.0}
                        Alignment := vector2{X := 0.5, Y := 0.5}
                        ZOrder := 1
                        SizeToContent := true
                        Widget := DefaultPopUpBox
                    }
                   canvas_slot
                    {
                        Anchors := anchors{Minimum := vector2{X := 0.5 , Y := 0.5}, Maximum := vector2{X := 0.5, Y := 0.5}}
                        Offsets := margin{Top := 0.0, Left := 0.0, Right := 0.0, Bottom := 0.0}
                        Alignment := vector2{X := 0.5, Y := 0.5}
                        ZOrder := 0
                        SizeToContent := true
                        Widget := DefaultPopUpBoxOutline
                    }
                    canvas_slot
                    {
                        Anchors := anchors{Minimum := vector2{X := 0.5 , Y := 0.5}, Maximum := vector2{X := 0.5, Y := 0.5}}
                        Offsets := margin{Top := 0.0, Left := 0.0, Right := 0.0, Bottom := 0.0}
                        Alignment := vector2{X := 0.5, Y := 0.5}
                        ZOrder := 2
                        SizeToContent := true
                        Widget := DefaultPopUpBoxText
                    }
                    canvas_slot
                    {
                        Anchors := anchors{Minimum := vector2{X := 0.0, Y := 0.0}, Maximum := vector2{X := 1.0, Y := 1.0}}
                        Offsets := margin{Top := 600.0, Left := 650.0, Right := 650.0, Bottom := 450.0}
                        Alignment := vector2{X := 0.5, Y := 0.5}
                        ZOrder := 2
                        SizeToContent := false
                        Widget := DefaultPopUpButton
                    }
            }
        }

        set MainCanvas = canvas
        {
            Slots := array
                {
                    NewDefaultBoxSlot:= canvas_slot
                    {
                        Anchors := anchors{Minimum := vector2{X := 0.0 , Y := 0.0}, Maximum := vector2{X := 1.0, Y := 1.0}}
                        Offsets := margin{Top := UI_Pos_Vertical, Left := UI_Pos_Horizonal, Right := 0.0, Bottom := 0.0}
                        Alignment := vector2{X := 0.5, Y := 0.5}
                        ZOrder := 1
                        SizeToContent := false
                        Widget := UIWrapper
                    }
                }
            }
        
            set IsInitialized = true # Lock the inialization state to prevent from running this function again
    #.........................
    
    # Builds a canvas using custom artwork UI
    PopUp_2 <private>() : void =

        #Custom Visual UI components
        <# 
        Design your visible UI widgets here which use imported custom visuals
        This is only used if you enable the "UseCustomArt" tickbox on the properties

        refer to https://dev.epicgames.com/documentation/en-us/uefn/exposing-assets-to-verse-in-unreal-editor-for-fortnite
        for info on how to import custom textures required for texture_blocks. 
        #>
        
        CustomArt1 := Textures.NyanCatPNG
        CustomArt2 := Textures.NyanMewPNG
            
        if (EZ_LinkedCreativeDevice.UseCustomdArt?):
        NyanCatGfx: texture_block = texture_block
        {
            DefaultImage := CustomArt1
            DefaultDesiredSize := vector2{X := 820.0, Y := 771.0}
        }


        NyanButtonGfx : texture_block = texture_block
        {
            DefaultImage := CustomArt2
            DefaultDesiredSize := vector2{X := 468.0, Y := 147.0}
        }

        UIWrapper := canvas
        {
            Slots:=array 
            {
                canvas_slot
                {
                    Anchors := anchors{Minimum := vector2{X := 0.5 , Y := 0.5}, Maximum := vector2{X := 0.5, Y := 0.5}}
                    Offsets := margin{Top := 0.0, Left := 0.0, Right := 0.0, Bottom := 0.0}
                    Alignment := vector2{X := 0.5, Y := 0.5}
                    ZOrder := 0
                    SizeToContent := true
                    Widget := NyanCatGfx
                }
                canvas_slot
                {
                    Anchors := anchors{Minimum := vector2{X := 0.5 , Y := 0.5}, Maximum := vector2{X := 0.5, Y := 0.5}}
                    Offsets := margin{Top := 250.0, Left := 0.0, Right := 0.0, Bottom := 0.0}
                    Alignment := vector2{X := 0.5, Y := 0.5}
                    ZOrder := 1
                    SizeToContent := true
                    Widget := NyanButtonGfx
                }
                canvas_slot
                {
                    Anchors := anchors{Minimum := vector2{X := 0.0, Y := 0.0}, Maximum := vector2{X := 1.0, Y := 1.0}}
                    Offsets := margin{Top := 700.0, Left := 750.0, Right := 750.0, Bottom := 200.0}
                    Alignment := vector2{X := 0.5, Y := 0.5}
                    ZOrder := 2
                    SizeToContent := false
                    Widget := CustomPopUpButton
                }
            }
        }

        set MainCanvas = canvas
        {
        Slots := array
            {
                canvas_slot
                {
                    Anchors := anchors{Minimum := vector2{X := 0.0 , Y := 0.0}, Maximum := vector2{X := 1.0, Y := 1.0}}
                    Offsets := margin{Top := UI_Pos_Vertical, Left := UI_Pos_Horizonal, Right := 0.0, Bottom := 0.0}
                    Alignment := vector2{X := 0.5, Y := 0.5}
                    ZOrder := 0
                    SizeToContent := true
                    Widget := UIWrapper
                }

            }
        }

        set IsInitialized = true # Lock the inialization state to prevent from running this function again

    #.........................
        

} # END EZ_PopUpManager ------------------------------------------------------------------------------------------------------------------------------------

ez_ui_popup := class(creative_device):

    @editable ShowUITrigger : trigger_device = trigger_device {}
    @editable PopUpBoxText : string = "Thank you for using EZUI for UEFN!"
    @editable PopUpButtonText : string = "CLOSE"
    @editable PositionHorizontal <public> : type{_X:float where -540.000000 <= _X, _X <= 540.00000} = 0.0
    @editable PositionVertical <public> : type{_X:float where -960.000000 <= _X, _X <= 960.00000} = 0.0
    @editable UseCustomdArt <public> : logic = false


    # UI regisitration
    var PlayerToUIMap : [player]EZ_PopUpManager = map{} #[playerdata]/ez_ui class


    OnBegin<override>()<suspends> : void =
        ShowUITrigger.TriggeredEvent.Subscribe(OpenUI)

    # all the steps needed to open the Pop Up
    OpenUI<private>(MaybePlayer : ?agent) : void = 
    {
    
        # check that the event was triggered by a player and stop if it wasn't
        Result := EZUI.IsAPlayer(MaybePlayer,Self)
        if (Result = false):
            return
        #.........................

        #covert txt strings to messages for the UI
        PopUpBoxTextMsg : message = EZUI.TextToMsg(PopUpBoxText)
        PopUpButtonTextMsg : message = EZUI.TextToMsg(PopUpButtonText)
        #.........................

        # pop-up templates selected by a UI ID number
        var UI_ID : int = 1 #uses default FNC UI by default
            
        if (UseCustomdArt?): 
            set UI_ID = 2 #custom artwork is supported but requires imported assets
        #.........................

        if(PlayerAgent := MaybePlayer?): #set the typing to agent from ?agent

            # Verify if an Linked pop-up manager already exists and uses it, if not, create a new one
            if ( InteractingPlayer := player[PlayerAgent] ) 
            {   
                var OptPlayerUI :?EZ_PopUpManager = false
        
                if (ThisPlayerUI := PlayerToUIMap[InteractingPlayer])
                { set OptPlayerUI = option{ThisPlayerUI} }
                    
                else if (ThisPlayerUI := set PlayerToUIMap[InteractingPlayer] = EZ_PopUpManager

                            #everything that is passed to the pop-up manager
                            { 
                                EZ_LinkedPlayer := InteractingPlayer,
                                EZ_LinkedCreativeDevice := Self, 
                                EZ_UI_ID := UI_ID, 
                                EZ_PopUpBoxMsg := PopUpBoxTextMsg,
                                EZ_PopUpButtonMsg := PopUpButtonTextMsg
                            }
                        ) 
                    
                { ThisPlayerUI.Ini(), set OptPlayerUI = option{ThisPlayerUI} }
        
                # Try to open the Interface for the player
                if (PlayerUI := OptPlayerUI?):
                    PlayerUI.OpenUI()
                else 
                    { Print("Error when getting saved or creating ThisPlayerUI") }
            }
        #.........................
    }



<#
    a special thamks to: 
        Mayapple
        SprinterMax
        Daigorō
        japan
        UEFN Discord community

    ****************************************************************************************
    Made with EZUI, please follow @kryyative on Instagram Threads and @KryyssX on X (Twitter)
    for more useful Snippets, UEFN & UE5 news,tutorials and community spotlights!
    ****************************************************************************************

    If you found EZUI useful please include the text above in your credits to show your support
    for my work and encourage others to use EZUI for their projects. Thank you! ^_^
#>
file_2.verse
<#
   This module needs to be used for any EZUI scripts and 
   contains premade features for the framework. Call these
   functions with "EZUI.<function>" from your scripts after
   importing them with "using {EZUI}"
#>

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

#imports
using { /UnrealEngine.com/Temporary/UI }
using { /Fortnite.com/UI }
using { /Verse.org/Colors }
using { /Fortnite.com/Playspaces }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }


EZUI<public> := module:

    # Toolkit ---------------------------------------------------------------------------------------

    # converts string to message
    TextToMsg<public><localizes> (t : string) : message = "{t}" 

    # comverts int to message
    IntToMsg<public><localizes>(i : int) : message = "{i}"

    # defines a custom typing for opacity which requires constraints
    opacity_range<public> := type{_X:float where 0.000000 <= _X, _X <= 1.000000}

    # defines a custom typing for anchors which requires constraints
    anchor_range<public> := type{_X:float where 0.000000 <= _X, _X <= 1.000000}

    <#
        EZUI.IsAPlayer
        used to determine if a TriggerEvent is from a player, or to check if the 
        input is a player, to allow for a UI to bereferenced
    #>
    IsAPlayer<public>(MaybeAgent : ?agent, VerseDevice : creative_device) : logic =

        if(not MaybeAgent?):
            Print("EZUI: Not an Agent")
            return false

        if(MaybePlayer := MaybeAgent?):
            for (k -> v : VerseDevice.GetPlayspace().GetPlayers()):
                if (v = player[MaybePlayer]):
                    Print("EZUI: Is a Player")
                    return true
        
        Print("EZUI: Not a Player")
        return false
        





    # VFX library ---------------------------------------------------------------------------------

    <#
        EZUI.FlickerVF
        Used to create a flickering effect on UI elements for a defined
        duration and then ending with one of four ways:
            1 - visible
            2 = invisible
            3 = invisible and collapsed
            4 = removed
    
    #>
    FlickerVFX <public> (ThisWidget : widget, Duration : float, VFXEnd : int, LinkedPlayer : player)<suspends> : void =
        var Countdown : float = (Duration * 10)
        
        loop:
                ThisWidget.SetVisibility(widget_visibility.Hidden)
                Sleep(0.05)
                ThisWidget.SetVisibility(widget_visibility.Visible)
                Sleep(0.05)
                set Countdown = Countdown - 1.0
        
                if(Countdown = 0.0):

                    if (VFXEnd = 1):
                        ThisWidget.SetVisibility(widget_visibility.Visible)
                        
                    if (VFXEnd = 2):
                        ThisWidget.SetVisibility(widget_visibility.Hidden)
                    
                    if (VFXEnd = 3):
                        ThisWidget.SetVisibility(widget_visibility.Collapsed) 

                    if (VFXEnd = 4):
                        if (PlayerUI := GetPlayerUI[LinkedPlayer]):
                            PlayerUI.RemoveWidget(ThisWidget)           
                       
                    break

<#
    a special thamks to: 
        Mayapple
        SprinterMax
        Daigorō
        UEFN Discord community

    ****************************************************************************************
    Made with EZUI, please follow @kryyative on Instagram Threads and @KryyssX on X (Twitter)
    for more useful Snippets, UEFN & UE5 news,tutorials and community spotlights!
    ****************************************************************************************

    If you found EZUI useful please include the text above in your credits to show your support
    for my work and encourage others to use EZUI for their projects. Thank you! ^_^
#>
Sign in to download module

Copy-paste each file above is always free.

Comments

    Sign in to vote, comment, or suggest an edit. Sign in
    📄
    Source
    @texture_block
    Epic Games Community
    @texture_block

    Created by a member of the Epic Games community. Rights remain with the original author, under Epic's community content terms. Terms ↗

    View original Sources & licensing
    Request removal
    Last updated Jun 23, 2026
    Verse module (2 files)
    Build failed · 3 errors

    Download the full module (zip) from the code panel above.

    Keep exploring
    More in UI · 7 of 9
    Prev
    fortnite hud
    Next
    fortnite ezui customisable fadein out screen fx
    Related topics
    • Fortnite Ezui Customizable Options Screen Ui
    • Ui Popups In Unreal Editor For Fortnite Ui
    • Fortnite Ezui Customisable Security Keypad With Sfx Audio
    • In Game User Interfaces In Unreal Editor For Fortnite Ui
    • Ingame User Interfaces In Unreal Editor For Fortnite Ui

    Related

    Open in graph →

    Related topics

    • Fortnite Ezui Customizable Options Screen
    • Ui Popups In Unreal Editor For Fortnite
    • Fortnite Ezui Customisable Security Keypad With Sfx
    • In Game User Interfaces In Unreal Editor For Fortnite
    • Ingame User Interfaces In Unreal Editor For Fortnite
    VerseIsland · an archipelago of Verse & UEFN knowledge
    🗺️ Island atlas Learn Guides History About & Press Sources & Licensing Status

    Not affiliated with Epic Games. Fortnite, UEFN, Unreal Engine, and Verse are trademarks of Epic Games, Inc. Content is attributed to its source — see Sources & Licensing.

    🦜

    Scout · your island guide

    The Isle of Verse