Your SaveGame is done a bit wacky way
So here’s a typical setup - you do it once when the Game starts, not by any save/load attempt, you only SaveGame to Slot later when you change variables
Another thing - don’t use SaveGame for this purpose
If you need variables to exist only from beginning of game till end and it doesn’t matter after you re-open the game (and it is so because every time you start a new game or re-open your Game you start from Level 1) - Use Game Instance to store this value as it is persistent, here’s a most known description of it:
GameInstance - Holds any non-pointer persistent variables (persistent means that you need to store in between two levels and that you don’t need to store in a SaveGame)
You can read and change the values there whenever you want and from every place
Also this:
Like mentioned above - you don’t need to reuse the nodes (from screenshot at the top of my Post)
Only save after changes, to get values simply get the Reference of your SaveGame Object
But enough complaining, let’s see what you can do about it
I display that number on the HUD whenever the new round starts, and it works
If it works for HUD - how do you apply it there to show up? It’s probably the same way you should go about your lil Variable
Also add some Print Strings (or use your HUD) to check values all the time and be aware if they do the right thing - that’s my personal experience as it’s pretty often that I think the math should do good, then it’s being affected by some other Factors and gets totally wrong at once
I assume you are using the Level Blueprint to control spawning the enemies
That means you probably need some Casts and those are very confusing sometimes
The most important thing in a Cast is the Object - you cannot Cast to Static Mesh Component while having your Player as Object because your Player isn’t a Static Mesh Component but an Actor or Pawn - keep that in mind
If you have only one player - Get Player Pawn → Cast To Player_BP_Name and so you can change things inside of it
If you wanna affect the Enemies - depends on how it works… if you wanna affect all actually spawned Enemies - Get All Actors of Class (no need to cast here because you select the Class)
If you wanna affect upcoming Enemies - you need to edit their information while Spawning them
So still in same spot where you check the actual Round - you also affect the Enemies Variables
Every Variable has 2 nice options - Expose on Spawn + Instance Editable - with this you will see the Variables when Spawning or Selecting the BP on Level and you can edit them immediately!
So back to the Level BP that spawns Enemies - when you have Exposed Variables - those will appear as part of Spawn Node and you can set the new Value based on the Round
If you wanna affect something that is on the Level placed manually - you can click it, got to Level BP and “Add reference to Selected Actor” - now you can edit the instance you referenced
I think this gets to long now, sorry for that but it’s not easy to pass knowledge and assist without an insight into your BP
Also it’s gonna be a lil challenge to you but that will give you the very valuable experience!
If there’s anything unclear, I am missing something or it’s not what you need - let me know, I’ll write you another book about it 