I just added a CSV of my game's units (strategy game, lots of those in it) into my game and felt kinda bad about it and now i see this and im super validated
Whats really cool is you could even make some extra code to export those game units to scriptable objects if you wanted to strictly use those for unity projects.
I have been wondering about data and Unity for the last few days and you came up with such an important content today. Cant thank you enough. Good Luck for the journey ahead !!
Oh man, I was really worried (also a bit excited) that I was going to watch this and find out that I'd been doing it all wrong but the video actually validated a lot of things I'm currently doing.. whew! Loving the Level2ness of the vid!
To 7:13 : You can also use json and also streaming assets. With streaming assets you do not even need to rebuild the unity game. Just update your file and on next start unity will read new data. This may is good or not. People can mod your game this way and can change the csv or json file. If you want to avoid this so better to keep rebuilding or even create your own assetbundle which can be better to make small updates.
@@InfallibleCode this kind of approach i want to do in my project, it help to understand how important this kind of stuff especially I'm using database. Please continue educate us thank you so much.
Amazing content as always and so happy to see you back!! I know the point of this video is not the code, but could we maybe have access to the source code of this video? There are some interesting concepts you showed and it would be a great learning experience to dive into it to check out the code!
See this is the kind of content I wanted to have when I was starting the course of Game Development at Uni level. It just never happened. Even though I still followed your videos a couple of years back, this format is way way way better and it's so much easier to understand. Can't wait for the next one. #NewBrackeys?
That's a whole different thing then. But, you can, for example, make a system to gather the data for the weapons, another for the FX (animations, sound, particles, etc.), and another for behavior (shooting, reloading, etc.) and then link them together with events. FX and Behavior would wait for a Shoot event to be raised to do something. But of course, that's just one way to do it!
"Data structures are meant to represent things" that's kind of a very bold OOP claim. I don't necessarily agree with some of the ideas presented here, however, in the context of "regular Unity" (not DOTS, not ECS, etc.), this is a very nice video, especially regarding repositories and auto-populating data from different sources. Thank you Charles, I'm glad you're back at making content :)
Thanks for sharing your feedback! I see your point and it's completely valid. But as you said, context is key and in this video we're definitely focusing on more high level data structures as opposed to low level algorithmic type data.
Great new content thanks so much! New format is cool too, although the code snippets could stay on the screen a bit longer. And did Barles get laid off in the merger with thousand ant? :D
I'm not sure my subscription to the newsletter went through correctly. Has the first issue been released already? Also, will it cause problems if I go through the subscription process again, just to make sure?
Another consideration is data security. Having data stored in an Excel spreadsheet, or JSON file is going to be easy to get into and edit. Where as Scriptable Objects are going to be a lot harder. I might like to see how a Level 2 would think about this. :D
regarding data, how would you approach a for instance a databse of 100's items in a game like heroes 3? I am assuming you can create templates with scriptable objects, but what about accesing them and saving them for the player and in database? Should it only be done trough items id's and loaded at runtime?
Kinda interesting, but I felt you rushed through the code too quickly. I know the code technically doesn't matter, but seeing how the idea is actually applied helps to explain it.
Haha I feel the same way A LOT of the time. Don't put so much pressure on yourself, though. There's so much to learn and know but what's most important is how you apply the knowledge that you already have :D
No it's not, ScriptableObjects are just fine, but it also highly depends on your workflow. You also could write yourself a custom menu command to generate ScriptableObjects based on an CSV file if that fits your workflow the best.
Make a video about making your game as modding friendly as possible? with as much modding power as possible? i'd like my modding community to be able to use Unity itself to mod my game.
Nice prologue starting with Unity Entities LOL Feels it requires overcomplicated work to handle simplest paradigms. Not wrong, but not that intuitive demanding high level design decision for low level assigning attemption.
I really appreciate the fact that I had to verify my Level 2 Game Dev Newsletter. Not because I like doing more work but because I respect the fact that you wanted to make sure joining what's basically a mailing-list, is an explicit choice. The easier I feel it is for me to accidentally sign up for something, the less confident I am that it's going to provide me a service that's appropriately offset by paid sponsorships. That little added "Are you sure?" is a bit of (probably faux) reassurance that I'm not signing up to generate ad revenue.
Please stop putting background music in a teaching video. Did you have background music in class? It’s very distracting. You are a great teacher though.
bro… seriously??? … ‘Weapons’ … as MONOBEHAVIOR???? … 😂 …… … ….. at least make it scriptableobject .. then … CsvWeapon??? … you manage to negate 30 years of lessons of bad OOP in under 1” … if you worked for me, I would fire you without discussion. and for the record, you are preaching ideas that are at the exact opposite of what the DOTS philosophy is
Sign up for the Level 2 Game Dev Newsletter: eepurl.com/gGb8eP
I just added a CSV of my game's units (strategy game, lots of those in it) into my game and felt kinda bad about it and now i see this and im super validated
Nice! Glad I could provide some validation for ya :D
Whats really cool is you could even make some extra code to export those game units to scriptable objects if you wanted to strictly use those for unity projects.
You have so clearly articulated a point that i have been trying to get across to my team for months. Great video!
This channel needs to be the number one link in every single game dev support discord channel.
Already loving where this series is going! Looking forward to the next one!
I just yelled "aw yeahhhh another video!!!" out loud by myself in my apartment. that is how happy i am to see a new vid by you!
You're the best! Hope you liked it :D
I hope that Barles has also learned this
Oh he definitely learned a lot from this one :D
@@InfallibleCode Perfect😂
These videos are extremely high quality; it's borderline criminal how this doesn't have more views
Really love what youre doin with the newsletter a lot of stuff like that is paid but i love how youre letting the knowledge flow.
Super excited for this series refresh! Good luck with it.
Appreciate that!
This is such an elegant pattern. Thanks for sharing!
I have been wondering about data and Unity for the last few days and you came up with such an important content today. Cant thank you enough. Good Luck for the journey ahead !!
Wow perfect timing! Glad you found it useful
Excellent. This is immediately applicable for anyone who doesn't understand these principles.
Glad you think so!
I'm really looking forward to more videos in this format. Welcome back Charles!
Really appreciate the feedback! It's great to be back :D
Oh man, I was really worried (also a bit excited) that I was going to watch this and find out that I'd been doing it all wrong but the video actually validated a lot of things I'm currently doing.. whew! Loving the Level2ness of the vid!
Nice! Glad I could help validate your workflow :D
To 7:13 : You can also use json and also streaming assets. With streaming assets you do not even need to rebuild the unity game. Just update your file and on next start unity will read new data.
This may is good or not. People can mod your game this way and can change the csv or json file. If you want to avoid this so better to keep rebuilding or even create your own assetbundle which can be better to make small updates.
It's so nice to have videos like this.
Glad you like them!
Now this is level 2! If the rest of this series is content like this im in good hands!!
That's the plan! :D
Great video! Loving this format and content.
Incredibly well made video. Thank you Charles!
Really appreciate it!
This is an awesome overview and video as always. I would love to see more about the csv integration. :)
Coming soon!
@@InfallibleCode absolute legend! :D
Very nice, can't wait for more!
so glad your back!
Glad to be back!
Great video again Charles!
Thanks!
Wow thank you so much!
Glad it helped!
@@InfallibleCode this kind of approach i want to do in my project, it help to understand how important this kind of stuff especially I'm using database. Please continue educate us thank you so much.
This is awesome, I've been wondering how to structure my data for characters and weapons for a SRPG!
Nice! I'm really glad this was helpful :)
awesome video! Really looking forward to the new content.
Thanks!
Great video, awaiting more!
More to come!
good to see u back
Great to be back!
Subscribed to the newsletter! btw, I think your site is missing a landing page.
Amazing content as always and so happy to see you back!!
I know the point of this video is not the code, but could we maybe have access to the source code of this video? There are some interesting concepts you showed and it would be a great learning experience to dive into it to check out the code!
See this is the kind of content I wanted to have when I was starting the course of Game Development at Uni level. It just never happened. Even though I still followed your videos a couple of years back, this format is way way way better and it's so much easier to understand. Can't wait for the next one. #NewBrackeys?
But what if you want to connect stuff like animations and FX to the weapons?
That's a whole different thing then. But, you can, for example, make a system to gather the data for the weapons, another for the FX (animations, sound, particles, etc.), and another for behavior (shooting, reloading, etc.) and then link them together with events. FX and Behavior would wait for a Shoot event to be raised to do something. But of course, that's just one way to do it!
excelente..!!muchas gracias!!
De nada!
Thanks!
You bet!
what are some other great channels that teach cool unity/game dev concepts like this?
Thanks for the video! Maybe I missed some Unity feature but how do you access the Load method from the button in the Inspector?
I'm assuming its the work of an editor script associated with the CsvWeapons class.
That is correct :)
That's a custom inspector we created for the CsvWeapon class :)
Fantastic video!
Thank you very much!
"Data structures are meant to represent things" that's kind of a very bold OOP claim. I don't necessarily agree with some of the ideas presented here, however, in the context of "regular Unity" (not DOTS, not ECS, etc.), this is a very nice video, especially regarding repositories and auto-populating data from different sources. Thank you Charles, I'm glad you're back at making content :)
Thanks for sharing your feedback! I see your point and it's completely valid. But as you said, context is key and in this video we're definitely focusing on more high level data structures as opposed to low level algorithmic type data.
What's the name of the syntax theme used in the video? I really like the way it looks.
Great new content thanks so much! New format is cool too, although the code snippets could stay on the screen a bit longer. And did Barles get laid off in the merger with thousand ant? :D
Great comeback!
Appreciate it!
I'm not sure my subscription to the newsletter went through correctly. Has the first issue been released already? Also, will it cause problems if I go through the subscription process again, just to make sure?
Shoot me an email at charles@infalliblecode.com and I’ll check for you 👍
hory sheet. Mind blown! Subbedddd
Another consideration is data security. Having data stored in an Excel spreadsheet, or JSON file is going to be easy to get into and edit. Where as Scriptable Objects are going to be a lot harder. I might like to see how a Level 2 would think about this. :D
When will the unit of work video go live?
regarding data, how would you approach a for instance a databse of 100's items in a game like heroes 3? I am assuming you can create templates with scriptable objects, but what about accesing them and saving them for the player and in database? Should it only be done trough items id's and loaded at runtime?
Have you sent a newsletter? because I haven't gotten any.
Kinda interesting, but I felt you rushed through the code too quickly. I know the code technically doesn't matter, but seeing how the idea is actually applied helps to explain it.
Sometimes when I watch these videos I question my entire programming history
Haha I feel the same way A LOT of the time. Don't put so much pressure on yourself, though. There's so much to learn and know but what's most important is how you apply the knowledge that you already have :D
Oohh I miss those infallible code content
I missed you, too :D
So this is about data structures in unity. Is it necessary to use linked list , stack , heap ,etc .
Большое спасибо за видео. И да, с России тебя тоже смотрят! ;)
ENG: Thanks a lot for the video!
Thanks barles
Barles says, "you're welcome" xD
Definitely useful!
Loved the video
Glad to hear it!
What IDE is this please? It looks amazing 👏
JetBrains Rider
LOVE THE VIDEO.
I"M LEVELING UP💪💪
Laugh at the CSV part when he said "That's not the point of the exercise"🤣🤣
Thank you!! Haha yeah the CSV implementation deserves its own video xD
So using scriptable object to store data is bad idea?
No it's not, ScriptableObjects are just fine, but it also highly depends on your workflow. You also could write yourself a custom menu command to generate ScriptableObjects based on an CSV file if that fits your workflow the best.
Make a video about making your game as modding friendly as possible? with as much modding power as possible? i'd like my modding community to be able to use Unity itself to mod my game.
PLEAASE make the 'unit of work' video soon pls pls pls
Stay tuned ;)
I believe this was a little complex. Even for an advanced developer, or a beginner, this seems to be overwhelming.
beginner question: Why not define a struct at any point here? Shouldn't we start off with an actual struct, rather than a bunch of arrays?
Just depends on the project and requirements. Either approach is completely valid
I don't understand why would we create a whole new class CsvWeapon if we can just add that functionality to the Weapon class
Nice prologue starting with Unity Entities LOL
Feels it requires overcomplicated work to handle simplest paradigms. Not wrong, but not that intuitive demanding high level design decision for low level assigning attemption.
You do realise you can reorder elements in arrays in the inspector.
Yes I do! :D
awwww u back
And it feels good!
I really appreciate the fact that I had to verify my Level 2 Game Dev Newsletter. Not because I like doing more work but because I respect the fact that you wanted to make sure joining what's basically a mailing-list, is an explicit choice.
The easier I feel it is for me to accidentally sign up for something, the less confident I am that it's going to provide me a service that's appropriately offset by paid sponsorships.
That little added "Are you sure?" is a bit of (probably faux) reassurance that I'm not signing up to generate ad revenue.
Please stop putting background music in a teaching video. Did you have background music in class? It’s very distracting. You are a great teacher though.
Appreciate the feedback!
bro… seriously??? … ‘Weapons’ … as MONOBEHAVIOR???? … 😂 …… … ….. at least make it scriptableobject .. then … CsvWeapon??? … you manage to negate 30 years of lessons of bad OOP in under 1” … if you worked for me, I would fire you without discussion. and for the record, you are preaching ideas that are at the exact opposite of what the DOTS philosophy is
Use Scriptable Objects
Awesome. I learned a lot.
Glad to hear it! (Also great name ;D)