(Please Help) Loading Data From One or More Previous Games to Effect A New Game

I’m working on an RPG series where the actions in one game can effect another game in the series. For example, if you were to kill a certain NPC, play through the rest of the game, beat it, and start the sequel, you won’t see that NPC anywhere in the sequel, where if you didn’t kill that NPC, they’d be there and ready to give you something for not killing them. Or if the player plays as an older version of the character, they keep the same skills they had in the previous game. Or if a certain NPC sold a player a certain item and they came back to buy it in the next game, the NPC will say “Did you lose your old one?”

Those are just some examples of what I have planned for this RPG series, but there’s one problem I’ve run into… I have not the slightest idea where to begin when it comes to loading data from one project to the next.

I’d obviously start by setting up a save and load script for one game, but where would I go from there after I make that game and start on the second installment? I had the idea to make one big save file with variables for each game in one file and just re-use the project but delete the previous assets, but then I have to back up files if I find a bug and need to update an older installment, and that would be a pain to have all those back ups instead of just multiple projects I can select by starting up the editor.

So if anyone has any idea on how I can do this, I’d be grateful if someone would assist me in this.

Another thing I want to know is if there’s a way to do mini-saves, like in Undertale where Sans told you how many times he killed you. I’ve got a few ideas for the RPG series that might need mini-saves for small variables.

I’m still new to using Blueprint Scripting, I’m used to C# and RPG Maker Event Editing and I refuse to use C++, but I’m going through all the tutorials for Blueprints I can find to try and pick it apart nearly every day, so please excuse me if I ask a question you might think is stupid, I’m still learning.

Also, this is my first forum post, so hello Unreal Community, nice to meet you.

Hi, Mirage_Mic.
I think you can try to transmit your data between two games by “special” save game slot.

Sorry to say it that blunt, but then you will fail.
At least with the projects you are describing.

One simple fact that prevents you from creating non trivial gameplay implementation is that arrays are always passed as copies in blueprint.
You cannot have an array within a narray and acces the inner aarrays via a for loop over the outer array. The “Array elements” node will always provide you with only a copy of the inner arrays.
So you cant simply edit a value there.
Implemented in C++, this is possible, no problem.

Another thing are widgets.
UMG widgets cannot inherit from another. You cant implement widget behavior that is shared by subclasses.
In C++ however, you have Slate and can inherit/compose widgets without restrictions.

Blueprint is good as a ligh level glue logic. Any complex game (like you are describing) requires methods beyond BP.
Initially, I also thought BP was more capable than what it is :slight_smile:

But hey, welcome to the forum :slight_smile: