Character Attribute System

thanks Sarr

This has been solved here. I changed the subtraction operation for addition within the getXP function in CharacterSystem and it worked properly.
Now appears in the progress bar XP Amount, not the amount I need to LevelUP, now I will try to add the two forms in my HUD, the Amount that I havem plus, Amount I need to complete for levelUP.

Everything is OK.

hey any update to add mana bar?

Mana bar is like health bar: with CurrentHealth,* MaxHealth* and HealthRegen but now as CurrentMana, MaxMana and ManaRegen.

How Add Mana attribute:

"Open “Stat_Name” inside CharacterSystem/System, and click “New” (three new names) and type in name for each new attribute ‘CurrentMana’; ‘MaxMana’ and ‘ManaRegen’

Then open “CharacterSystem” blueprint in the CharacterSystem folder.
In the defaults, expand the Stats array, and click the + symbol next to it, to add a new element.
For the new element, select your newly created attributes names as Stat_Name (‘CurrentMana’; ‘MaxMana’ and ‘ManaRegen’), and set the default value, per level scaling and cost.

now you have added a new attribute to the system

For mana regeneration you would do the same, but also in the CharacterSystem blueprint’s Event Graph you would want to copy the Health Renegeneration part, and change the Stat in the nodes to ManaRegen."

To add mana bar in your hud the process is equal the health bar, but with bind in ‘CurrentMana’; ‘MaxMana’ and ‘ManaRegen’.

If you have any doubt see how health bar was created

thanks, it worked

Hey I’ve just purchased this. Fantastic work! I had successfully implemented the experience system to my flight game. But how do I save it to slot? I tried something but failed. Does anyone have an idea?

Right now I have this:

With this, I can fly in to an experience zone and can get exp as long as I’m in the zone. I just want to save this so when a player opens the game again, exp be there.


Looking at your blueprint it looks like it does what you want it to do.

Your pawn enters into a volume that will add stats every tick that it stay within this volume, then will be writing “Experience” in the “Overlap” variable. You tried to call a float sum operation on the “value” node in “Increase stats”.?

Behind the “Tick Frequency variable” existe an eventtick connected in a sum operation setting a float value for Tick Frequency?


Hi, Sarr

I made a save game using structures for your character system!
But I can not save the attributes existents in character system as level, experience, stat points, health, etc.

where are the variables to be saved or loaded?

I realized that all the attributes (variables) are in an enumerator. But they are calculated within a function in the samplewidget.

But, I have been unable to cast these variables inside the widget to the sum operator in mycharacter blueprint.

This is the first part, where I believe that should be inserted values to be saved


This is the structure created by me.
Is currently mirrors what I have there in ‘‘CharacterSystem / System / Stat_Name’’ Enumerator, but without any communication with him.

Any help will be appreciated.


this might be much to ask for, but since you’re hacking away at this RPG element, maybe you could do something like this!/content/14419

It feels like you are overcomplicatings things… the Enums just hold various attribute names and the Stats array withing the main BP holds an Array of structures. You could just Iterate trough the Stats array or use the GetStat function to get the base value of any stat. Just save those. And upon load restore them. The base values is the only thing that you need to track. Names wont change neither will any other stat and final stats are calculated from the base stats from the Stats array

Also im more or less hacking away parts of my own game. Translating the subsystems from c++ and making them modular, rather than creating new systems ;).

Thanks, Sarr for the answer

In fact it seems to be a little complicated for me. Because I’m an artist and not a programmer, my contact with blueprinte is only a few months, two or three, so this for me is how to decipher the Rosetta Stone at each box.

But I will try.

Iterate trough the Stats array, It may be a better approach, because there will be lot of other stats, like in borderlands. Because I intend to create a kind of challenge with rewads for each stat number completed.

I’ll try research a bit more about iteration of stats within an array.


why dont you just save the entire Stat array then ? :smiley:

OK, Sarr. I’ll try :wink:


Does anyone have an example of how to add exp when an AI dies? I have tried several different ways with no erros but im just not getting the exp when the AI dies

I’m herein interested in how achieve it also. For while I did it with collectible for testing purpose only as AddXP, Mana, HP, Health, FreePoints, etc. I did not make any AI test using pawn class yet. But it should look like my collectibles items.

AddXP, (ie. ‘addStat’ function), could stay within the enemy’s class blueprint as ‘addstat’ configured in addXP on the enemy’s death event.


How do I give buffs/debuffs? If I try doing it using Increase Stat/ Decrease Stat, it changes back instantly.

simply put it. buffs should affect only final stats. and their calculation should be triggered in the “Recalculate Stats”. I’ve been super busy latelly but I will create a video tutorial when I have some time.

So how do I install this? The “Add to project” doesn’t add to a project and instead wants to create a new project. If I try to add it inside my content folder or project folder it doesn’t work as in i get a bunch of compile errors. Also it’ll show the character system as a project by itself in my library.

*edit i just created a new project and copied over the content folder, it got rid of my errors at least.

setup 849bcfa545e74d72380633437ab2c2333364590f.jpeg
add exp 78b87472c54787d526a67c09b18dd8e2f23fe1ea.jpeg

This is a great product, worth every penny. He was also available through Skype to help me with a few problems i had implementing it. 10/10