So I love the content, and this is great to be showing. I think a UGameInstanceSubsystem may serve better than the full GI for data, but that's not a big deal. Save and Load is an eclectic subject in Unreal and it's awesome that you're making great videos about this! The general language around "Cast to..." in most UE tutorials is misleading, and I saw it here as well. So I'd like to try to clarify this The "Get Game Instance" node is doing all the heavy lifting of getting the reference to your Game Instance. It's doing the "communication" most people are looking for when they think about the "cast to" node. That "Get Game Instance" function basically calls "Get Outer" recursively till it finds the game object that owns everything, then accesses it's saved reference to the game instance and returns that pointer to that output pin you drag off of to put into the "Object" input of the Cast To... node. The "Cast to" node itself just checks what type of thing a reference is, "is this thing of this type". No communication is done by that node, it's just a check. The origin of the word Cast is like "metal cast into a mold", not cast as in broadcast. "Does this Object fit this mold, aka was it "cast" in this mold when it was made" So saying "Cast to your game instance" can sound like the cast node is doing the communication part, when it most certainly is not. Put 10 copies of your "BP_Character" into a level, use get all actors of class to get an array of all of them, and then you can plug any single one of the results in that array into a "Cast To BP_Character" will succeed. This is because they are all "cast" from the BP_Character blueprint I know that might be a lot of wording, and I again hope that the overall quality of the content is not in any doubt. This particular subject is just a very murky one for many, and I even have Jr. devs applying to the studio I work at that don't understand how cast works in Unreal. (In C++ or otherwise it's more of a conversion/interpretation, rather than a check) Thanks again for taking the time to make this content!
@deeppixelstudio Жыл бұрын
Thanks for taking the time to clarify this!
@ryanjdev87 Жыл бұрын
I watched a video where a guy said it took him 2 years of unreal to understand this and interfaces lol
@cemeterygate Жыл бұрын
This is the only channel with saving and loading I've found that wasn't the copy pasted basic save/load function that every other channel has done. Thank you for going over all this information, what you were doing, and most importantly, why you were doing it.
@GDXR Жыл бұрын
Your very welcome. Im glad i could help.
@nassergreatdeveloper374514 күн бұрын
man I discovered your channel and you deserve more subscribers. You explain well. That is what we need
@GDXR7 күн бұрын
Thank you :) maybe we can get those numbers up in the next year :)
@sum_rains789911 ай бұрын
Great tutorial, It defintely has helped me understand structures a little better. Looking forward to seeing more content from you in the future.
@deeppixelstudio Жыл бұрын
Fantastic explanation, very easy to follow and the repeated breakdown as you go really keeps underpinning my understanding. I'd love to see a similar video from you talking about multiplayer and what to code where. e.g. game state, player state, game instance... replication can be an unnecessarily complex issue but coding everything in the right place from the beginning can be a real levelling up moment for many devs!
@pHaace Жыл бұрын
this was exactly the kinda intermediate tutorial for saving and loading i needed to progress a project so appreciate the video!
@pHaace Жыл бұрын
i honestly kinda hate this isnt the first thing people that do long 30+ long video playlist tutorials dont start with cause itd make iteration for people that understand the basics already to do more then pause alot trying to do exactly as the video does so everything works. As i am doing now so i know how this is all working in a clean project.
@pHaace Жыл бұрын
So I am curious cause it seems when closing the game it wont reload player info, how would that be fixed?
@GDXR Жыл бұрын
if your using the game instance there is a node called event init which stands for Initilize. you could use that so as soon as the game starts you load the save data and populate it out.
@pHaace Жыл бұрын
@@GDXR I was trying to get it to work but was at the end of a long session so I must have been forgetting to call a function
@NicholasStephenson-j9t Жыл бұрын
Awesome video! This channel is so helpful. You are able to teach and explain concepts and processes in such an easy and digestible way. Great work!
@Letrasdesordenadas Жыл бұрын
You are an excellent teacher! Thanks for sharing
@ga_s610 ай бұрын
congrats for the class! Helped me a lot!
@danl331Ай бұрын
Jonathon, is there a reason why you are creating the Save Game Object every time you fire the Save Game event? I would think that you would want to create this in Event Init and save it to a variable. I suppose that garbage collection will take care of it, but yeah. Not a complaint though, this is still a fabulous tutorial. Proud to be one of your Patreons.
@arielw177 Жыл бұрын
Its amazing!!!! Its working great, thanks dude!!!
@AndreaFromTokyo Жыл бұрын
Hey man, nice vid as always! Just a curiousity: can't you just save the whole character with all it's variables as a variable directly in the save game? Same for all the other actors?
@ExopackVFX8 ай бұрын
Awesome tutorial! I appreciate you not going at lightning speed like in most other tutorials so i didn't have to play it half speed lol! With that said, I'm not quite sure where i went wrong with this, but i just can't seem to save anything. I don't think my third-person setup has anything to do with it, so maybe my version? I'm on 5.3 and i:m getting no errors. A save file is generated as it should, but no data is updated upon restarting my game. I do have a hefty number of variables in my struct though, about 60, but it really shouldn't be a factor as so far I've only been testing with the name variable. Any advice?
@ExopackVFX8 ай бұрын
Actually my initial assessment was incorrect.. data is saved but I'm having trouble loading it. It appears to be a similar issue to marie-pierneault1035, as it seems that i have to click twice on load to get the data to show.
@lukesfilmltd11 ай бұрын
so first of all this is awesome, been setting up a player lives system using it and it works well in game HOWEVER when I EXIT the game ( either PIE or Packaged) and open it back up again everything reverts to defaults... how do you save the actual game instance to save the variables in the structure? been going in circles!!!
@lukesfilmltd11 ай бұрын
Still driving me crazy been trying loads of methods to no avail
@Dungeon_Rats3 ай бұрын
Did you ever figure this out? I also have been in circles.
@chadchristopher976111 ай бұрын
I'm new to UE5 so I'm not sure I followed when you mentioned you should use a border as opposed to a canvas panel. What are the differences and how would it be better?
@GDXR11 ай бұрын
canvas pannel updates with the dveices frame rate making it extremely expensive to calculate. So using a boarder allows it to update only when changes are made. Being more cost effective.
@LatvianALIEN Жыл бұрын
will it work on packaged project?
@marie-pierneault103511 ай бұрын
My dispatcher seems to work as my print name is updating but somehow I have to press the load button twice in order to make it work....any idea what could cause that?
@GDXR11 ай бұрын
Dispatchers need to be initialised. So your first press is activating it and the second press is actually listening for it. Fire it from begin play or another line of code which runs before hand and it should be ok.
@MasonHolly Жыл бұрын
First! Also, you can't read any of the text because the screen resolution is too low(360p).
@GDXR Жыл бұрын
First! You need to wait for KZbin to sort out the 4k version. Just give it a minute.
@snowsteward8340 Жыл бұрын
First! you need to upgrade your internet lol before ever talking about a video resolution.
@MasonHolly Жыл бұрын
@@snowsteward8340my internet is 4k smooth, the video wasn't processed so the only resolution there was for video.