Skill Point System - A Question

Hi Everyone,

So I have been working with a friend on a TPS game. He is definitely much more qualified for the job than me but I am working on the smaller systems but now I am stuck and would appreciate some advice.
I have designed a levelling system between UMG and my character blueprint.

Every time the player levels up, up to a maximum attainable level, he earns a skill point which he can use to modify certain stats (things like health, stamina etc. all of which can only be modified up to a certain extent).

Now the part I am unsure of is how to create and manage these stats. So lets say there are ±10 attributes that you can modify and you can modify each of them up to 20 times before it reaches the maximum allowed. How do you suggest I manage/create these? For example, if I wanted a stat menu where they can choose which stat they want to increase? Is it better to do this in UMG/do I need another whole level etc?

I really hope I am making sense but if you need some clarity on what I am asking, don’t hesitate.

Many thanks in advance,

If i had to do this i would use a umg only with hidden buttons + (and -) abilities visible only when there is a point usable or with a reset for example. Then i would only add a condition on click. If ability is less than max (or more than minus) then click if not, nothing or a message “maximum reached”. Same for start, only adding conditions on click.
A function used with the ability dedicated would be the way i would follow.

Thank you! That’s very much what I have been leaning towards.

A question though, I have a progress bar that is always visible in the widget and would like to set it to only visible when the player presses a specified key. I am using unreal 4.4 and I believe that there is a bug that prevents you from modifying the visibility of progress bars in my version. Does anyone have a fix for this?

I can’t say with 4.4 but with 4.5 i used in my character a get player controller / get hud / cast to hud / Edit : forgotten : Drag the widget variable / cast to widget / drag component / set visibility (target is widget) to show hide enemies life bars on mouse over which worked fine.

Edit 2 : I haven’t yet try directly using widget so i don’t know.