UE5 Experience System
This page is part of the documentaiton for my UE5 Experience System

Get Notified on Change

UE5 Experience System Version: 1.0

    The AC_ExperienceSystem component provides the following event dispatchers you can bind into to get update notifications when experience or level up changes. All events have a similar named UI event which is intended and used for just the client side notifications like those used by the various experience related UIs.

    When working with game logic, or something that must run on the server use these events …

    experienceChanged

    Whenever any experience type has a change to the points this event is called. It will provide you with the experienceType [name], the currentExpereincePoints [float], the changeAmount [float], the currentLevel [int], and the currentLevelPercentage [float].

    levelChanged

    Whenever any experience type level changes this event is called. It will provide you with the experienceTypeID [name], the new currentLevel [int], isLevelUp? [bool] (true if level up, and false if level down), isMaxLevel? [bool] (true if new currentLevel is the max level), isFirstLoad? [bool] (true if the game just started for the client, so we don’t have to show level up notices and FX but can still do other level based logic).

    experienceReset

    This event dispatcher is called whenever the experience is reset through the resetExperience events. These events are intended for debug use, but could still serve some use in certain game scenarios.

    experienceUpdateReceived

    When a major change occurs (like a reset) the system is set up to relay all major data to the client, when that happens this event is called. This can be used as a way to refresh your other systems.

    experienceLoaded

    This is called after the component finishes loading for the first time. Use this event along with the loaded? [bool] to handle loading certain logic if where you are calling from could run before the component is loaded. If the bool is true then the system is loaded, if it is false then bind into the event to continue your process when the system is done loading.

    experienceMultiplierChanged

    This event is called when an experience multiplier changes. This event will provide you with the experienceTypeID [name], and the new multiplier [float].

    experienceLocked

    This event is called whenever an experience is locked.

    experienceUnlocked

    This event is called whenever an experience is unlocked.

    When working on the client, like in a UI, use these events …

    These events will return the same data as their server counterparts, however they will run only on the client, and after the server events run. If you are working in the UI or something that only appears on the client you should use these events.

    UI_experienceChanged client side equivalent of experienceChanged
    UI_levelChanged client side equivalent of levelChanged
    UI_experienceReset client side equivalent of experienceReset
    UI_experienceUpdateReceived client side equivalent of experienceUpdateReceived
    UI_experienceLoaded client side equivalent of experienceLoaded
    UI_experienceMultiplierChanged client side equivalent of experienceMultiplierChanged
    UI_experienceLocked client side equivalent of experienceLocked
    UI_experienceUnlocked client side equivalent of experienceUnlocked
    UI_experienceWindowShow client side only. Called when experience window is shown.
    UI_experienceWindowHide client side only. Called when experience window is hidden.