Hey FireZown,
I recreated my entire canvas exp system and converted it to UMG for 4.7. Below are all the functions used to create my system. I used a standard 3rd person template for this. This setup should greatly reduce the nodes you need to use to accomplish what you are after.
In the third person character blueprint.
These two functions should be pretty self explanatory.
In the experience bar widget. In this widget you will need the following variables, all of which are INTs but could be floats as well if you’d prefer:
Current EXP - 0
Overflow EXP - 0
Needed EXP - 500
Player Level - 1
Max Level - 10,000
This is simply my UI. It is two text blocks and a progress bar.
The white text, text block has a binding for its text as follows
The purple text, text block has a binding for its text as well.
The progress bar has a binding for its percent also.
You need to convert the integers here to floats to be able to return a non whole number value or rather your level’s percentage.
Here is the give experience function
The branch only returns a true statement when we have gained more experience than we needed to level and when we aren’t max level. This is the only time you need to call your level up function, since any other time, your current exp should just be lower than your needed experience.
Here is the level up function
I forgot to comment the last part of this but basically it just sets your current experience, after you’ve leveled, to whatever was left over from your previous amount. However if there was no overflow experience, due to hitting your level exactly, we simply reset the current experience to zero and start over.
Here is the final product of my example in action.
I really hope this helps out and sorry it took me so long to get around to it.
-Hakabane