Great explanation! You deserve way more attention for your tutorials, they are great :)
@Sarishie2 ай бұрын
i've watched a lot of people discussing about scriptable object, i never understand what case it can be use for, but i watched this video, and it gives me an idea about how to use it, and i've been used scriptable object since then, thank you Liam academy, thanks, love you, wish all your dream can become true
@Josh-gb9ml2 жыл бұрын
I wanted to watch this just to make sure I'm not missing any cool tricks or creative uses of SO's since your videos are always so chalk full of little golden nuggets of information. And sure enough I was exposed to code and ideas that have inspired me to dig deeper and learn new things. Your channel is a hidden gem man I could probably find hours and hours of footage about scriptable objects on youtube and I doubt any of them would even come close to being as useful as this video was. Cheers friend
@LlamAcademy2 жыл бұрын
🤗 thank you! I really appreciate that! You brightened up my day!
@SatisfyingNerd Жыл бұрын
You know how to deal with beginner! You deserve a job on big company. Thank you!
@LlamAcademy Жыл бұрын
Thank you for the compliments 🙌
@poobagification2 жыл бұрын
this did a good job of formalizing a lot of the patterns I've been using with SOs. I'll probably adopt the naming scheme since I've had the same issue with naming collisions.
@BatuhanTerzi12 жыл бұрын
you are an awesome teacher
@LlamAcademy2 жыл бұрын
Thank you I appreciate that 🙏
@Tooni82822 жыл бұрын
Well explained mate!
@LlamAcademy2 жыл бұрын
I appreciate that! Thanks!
@Bananenbauer1232 жыл бұрын
Really amazing video and kind of blew my mind. It is so much more intuitive for a designer to drag and drop "Attacks" or enemy "stat sheets" into a given enemy prefab. It also makes sense becaues enemies/enemy types pretty much always start out with some sort of "static" base value. Even in the case that an enemy's health needs to be scaled in some fashion we can throw in values like baseHealth and/or healthScalingFactor.. into the scriptable object and bam. You can have sets of values in a neat sheet and if you ever change your mind on an enemy's stat balance you can simple switch it out for the older version without having to retype values in code. Now, one question perhaps regarding the permanence of the data. Changes to scriptable objects are always permanent, correct? So those could be used for saving some of the most recent changes to say, player health. This could be quite useful for preventing alt f4 quitouts from playres to revert their own death or stuff.
@LlamAcademy2 жыл бұрын
Changes to the ScriptableObjects persist in the UNITY EDITOR ONLY (regardless of play mode or edit mode). On a deployed device any changes will not be persisted through runs of the game! Once a player restarts the game, they will lose any changes made from the previous run. To retain changes in a build you'd have to persist this in a database, a file in Application.persistentDataPath, or remotely on some server.
@Bananenbauer1232 жыл бұрын
@@LlamAcademy Ohh I see. Still quite useful for base values. Thanks for the reply!
@darkman2374 ай бұрын
So how do you access the sub classes later? Enemy/Boss/Major Boss , Enemy/Boss/Minor Boss , Enemy/Boss/Final Boss , Etc.
@pierepaul2387 Жыл бұрын
Please can you make a video on how to save scriptable objects data using a savesystem.
@LlamAcademy Жыл бұрын
Hi! An important piece in this video is that you do not generally create ScriptableObjects at runtime. You would not use ScriptableObjects in a Save System. Instead you should use Serializable Classes like in this video: kzfaq.info/get/bejne/o9SkhpdmzJ6ze2g.html
@pierepaul2387 Жыл бұрын
@@LlamAcademy Thank you soo much, but I have made a save system already, the problem is I don't know how to save data of my weapon (which is a scriptable object) as I upgrade my weapons level, fire rate and reload time. BTW, I watched the video already thank you.
@LlamAcademy Жыл бұрын
In that case, you should be able to serialize your ScriptableObject's properties into your save system and deserialize them back into a ScriptableObject on load. Is that not working for some reason for you?
@pierepaul2387 Жыл бұрын
@@LlamAcademy I havent seen a video for that
@LlamAcademy Жыл бұрын
It's the same concept. The ScriptableObject is just a C# class that is serializable. You mark the ScriptableObject as [System.Serializable] and do JsonConvert.DeserializeObject. You may have to do something like make a fully serializable class because I’m not sure if you can simply do new YourScriptableObject() which is what the Json Serializer will do
@kingpicАй бұрын
This video content: your face 98%. Scriptable objects 2%.
@chakibchemsoАй бұрын
um, no if you actually listen then you'll get more information than you'd from a copy paste code video.
@ytubeanon Жыл бұрын
sounds like SO's are templates
@monkeyrobotsinc.98757 ай бұрын
constantly looking up plus ringlight and glasses equals super annoying.
@LlamAcademy7 ай бұрын
Thanks
@crtglowgames7 ай бұрын
If nothing else that, er, 'constructive' new comment may have bumped your video up the algorithm, as it was recommended to me today. Great video, with useful real-world examples, thanks. And the light wasn't remotely annoying to me for what it's worth. 🙄