Unity Arrays? Don't Do this!

Поделиться
HTML-код
  • Опубликовано: 30 июл 2024
  • ko-fi.com/jasonstorey
    ----------
    00:00 - Introduction
    00:10 - Array of Names
    00:33 - Issues with the Current Approach
    01:02 - Using Text Files
    01:25 - Responding to Changes in Text Asset
    02:11 - Storing More Complicated Data
    03:04 - Custom Editor Scripts
    03:27 - Remaining Hassle
    03:57 - Conclusion
  • ХоббиХобби

Комментарии • 163

  • @InfallibleCode
    @InfallibleCode 2 года назад +71

    Great video, Jason! Love the content, love the memes, love that you're finally putting stuff out there. Can't wait to see the next one

  • @page0809
    @page0809 2 года назад +30

    The next topic is "Custom Editor Scripts" then "Validations" or vice versa, oh yeah the data interruption was cool!

  • @thedude110
    @thedude110 2 года назад +13

    Really glad to see you started your own channel, Jason! Loved your contributions to Jason Weimann's videos, always got interesting stuff to add to the conversations.

  • @behnamrasooli8801
    @behnamrasooli8801 2 года назад +4

    wow! such an improvement in your presentation in just 3 videos. This shows you're really good at this buddy. Thank you a lot :)

  • @drewvananne1796
    @drewvananne1796 2 года назад

    Great content! So happy to see you started posting! I'd absolutely love to see some editor extension videos.

  • @bluzenkk
    @bluzenkk 2 года назад

    Really glad to see you started your own channel, Jason!
    I really hope you can make more of these in the future.

  • @jeniferirwin
    @jeniferirwin 2 года назад

    Man went absolutely bonkers with the editing, but in an awesome way. This has a good balance of having fun, novel things going on while not being so much as to be distracting. It must have taken a lot of time to do all of those tricks; much respect!

  • @JediMediator
    @JediMediator 2 года назад

    Super excited to see you make your own channel! Every bit of content I've seen from you on Jason and Charles' channels have been so useful already!

  • @tailwindmechanics7454
    @tailwindmechanics7454 2 года назад +25

    Good stuff! I like the editing, keeps it light and easier to digest. Yeah I'd be up for editor code. What I'd be most interested in is how you'd setup a codebase for production, something mid sized like an indie pc game. Specifically I want to understand how you use interfaces and why, and how to avoid things like zenject and singletons. Also curious about your take on UniRx and DOTS. Thanks for this man!

  • @millerbyte
    @millerbyte 2 года назад

    So happy to see you making videos on this channel, Jason! And I appreciate the editing skills ;D

  • @anommymousse1224
    @anommymousse1224 2 года назад

    As always very good info in a straight forward manner, the editing too is really great, all those little touches, superb craftmanship.

  • @mbalrog6
    @mbalrog6 2 года назад

    Wow! Nice upping the ante with the animated graphics. That was awesome Jason. I think the editor scripts would be awesome for a next video, or a video to hit the pipeline soon! I want more!

  • @grazeen
    @grazeen 2 года назад +7

    I would love to see more tutorials from you. About anything really... You seem very experienced with industry and know a lot about shortcuts/easier ways to do stuff.

  • @microdavid7098
    @microdavid7098 2 года назад

    I love this approach of tutorials.
    The way you explain stuff is clean precise and very informative with fun in between

  • @Forjugadname
    @Forjugadname 2 года назад

    Awesome vid, I did a basic version of this text loading before, but I didn't realise you could do this with several data points. It's just what I need for my current project.

  • @TropicalMelonMan
    @TropicalMelonMan 2 года назад

    I learned something today, had no idea you could do cool file IO stuff like this in in Unity. Concise, well-presented and edited!

  • @dermotbyrnemusic
    @dermotbyrnemusic 2 года назад

    Great video Jason - looking forward to more of your content! Great to see these editor tips!

  • @turkeyjerkey
    @turkeyjerkey 2 года назад

    Love to see the Editor Scripts covered in more detail! Great job!

  • @alsantour8835
    @alsantour8835 2 года назад

    This was great stuff, and the editing was great 👍👍 I hope this channel blows up

  • @ryanlaseter7626
    @ryanlaseter7626 2 года назад +1

    I like these kinds of videos. It's easy to initially do the array by hand in Unity but you're right, it requires opening Unity, it's not portable, etc. It's nice when someone says 'there is just a different/better way that is easier long-term and way less overhead' appreciate the video.

  • @farrael004
    @farrael004 2 года назад

    It's really nice to see you posting videos man!

  • @MaximumSpice
    @MaximumSpice 2 года назад +1

    This is amazing. The hard thing about this is as a person who learnt unity and C# on my own, how would I even know these functions and options exist until I come across this. Amazing work tho!

  • @issimc158
    @issimc158 2 года назад

    your videos are awesome. you're awesome. look forward to each and every new vid that you got cooking up.

  • @oyaguni961
    @oyaguni961 2 года назад

    Thank you for your content, this format is really informative, easy to digest and to understand. Love it!

  • @nael_nocteon
    @nael_nocteon 2 года назад

    Great video, thank you Jason. I'd love to see a video where you cover some insights on the Unity Editor scripts !

  • @AviarkXIII
    @AviarkXIII 2 года назад

    Super excited to learn more about the editor extension stuff! This was really interesting.

  • @johnperes
    @johnperes 2 года назад

    I almost learned 1 new thing per minute in a 4 minute video
    Keep the good job man!

  • @divainsyoutube4254
    @divainsyoutube4254 2 года назад +5

    Thank you for another useful video! Love the editing!

    • @nickygdev
      @nickygdev 2 года назад +1

      He's killing it with the editing

  • @KimetMX
    @KimetMX 2 года назад +1

    Love the new editing =) Thanks for your time =)

  • @gonzaloescamilla8488
    @gonzaloescamilla8488 2 года назад +1

    God, your content is so damn good. keep up the hard work dude!

  • @olon1993
    @olon1993 2 года назад

    I cannot express how valuable this video is! Cannot wait to learn more about custom editor scripts!!!!1!!

  • @WorldOfZeroDevelopment
    @WorldOfZeroDevelopment 2 года назад +4

    I really like this approach of making data easier to access. You can even put these files behind a web server and dynamically update them without having to have the players download a new game client. Changing that damage stat on a sword no longer requires validating an entire new release!
    One suggestion: Unity includes the Newtonsoft JSON library already for you which can handle serializing and deserializing complex types for you. Instead of splitting text files manually which can break when you add another field, using some structured data like JSON, XML or YAML can make this more robust and less likely to trigger weird and confusing warnings when a data file is incorrectly changed or your type gets updated. I believe that code to do this will be shorter than the manual parsing version as well!
    For example:
    var lines = JsonConvert.DeserializeObject(_file.text);
    Should be all you need when converting your Items data 😀

    • @JasonStorey
      @JasonStorey  2 года назад +2

      I completely agree! In fact I use Newtonsoft JSON for most of my projects, but in unitys documentation they do actively caution you against relying on the version they include as they only promise it is there for editor tooling and not always guaranteed, also while I would use json/bson for data myself as I am comfortable editing it, when it comes to giving something to non-tech people, asking them to just type some words in a file with commas between them is easier to explain and reason about, so for user facing stuff I often use plaintext/flat files. (though secretly I will often parse what they give me, model it as a json DTO and use that myself. )

  • @philip487
    @philip487 2 года назад +1

    Kudos for the extra effort on editing. Good way to stand out. gg

  • @AlexBlackfrost
    @AlexBlackfrost 2 года назад

    Nice video and editing! I'd like to see more videos about editor coding

  • @asembahra6187
    @asembahra6187 2 года назад

    very nice video as always .
    best of luck doing more .

  • @asliniarayanadam
    @asliniarayanadam 2 года назад

    You are one of my hilarious guide in my game dev journey Jason! Keep it up! Great content!

  • @rani600
    @rani600 2 года назад

    Love it! Although a note about audio, it's seems like your volume is really low compared to the editing popups.

  • @nickygdev
    @nickygdev 2 года назад +2

    I'm reading Game Programing Gems and on the first chapter they talk about how you should use text files to not scare away designers. Great to see it implemented in Unity

  • @FullMe7alJacke7
    @FullMe7alJacke7 Год назад

    More editor videos please! Not a lot of channels ever really talk about improving your development pipeline and I feel like that is one of the many quality of life things a lot of developers don't do simply because they don't know where to start.

  • @TChrisBaker
    @TChrisBaker 2 года назад

    Very informative video ! I would find it useful to face a video about an editor script. That's something I always struggle with

  • @migueldc6845
    @migueldc6845 Год назад

    Your editing is top-notch!

  • @ElegantWaster
    @ElegantWaster 2 года назад

    Great video topics. Simple tips that should be shared more often. I'm surprised things like this aren't more prominent on Unity Learn.
    I'm just disappointed you don't start your videos by asking "What's the Storey?".

  • @018FLP
    @018FLP 2 года назад

    Hmmm, i really love a well edited tutorial video, and you surely scratch that itch, insta subd * cheff's kiss *

  • @willcallcool
    @willcallcool 2 года назад

    Great video Jason keep them coming.

  • @iDerp69
    @iDerp69 2 года назад

    Super cool -- definitely will be using this in my project.

  • @kay-dp8qw
    @kay-dp8qw Год назад

    Very helpful, thank you so much for your videos :)

  • @vanderson.f.milagre
    @vanderson.f.milagre 2 года назад

    Nice video. I'd like to see you explain how to work with Editor scripts in Unity since I don't really have much of an idea of how to start.

  • @DarkAyumu
    @DarkAyumu 2 года назад

    Please make more videos, and the editor tutorial if you can that would be splendid. I want to know about Custom Editor and I'd love to hear it from you.

  • @BigRookDigital
    @BigRookDigital 2 года назад +6

    This 1.0x Jason is an Impostor. Put on 1.5x for Authentic Jason.
    Great job on the editing.

  • @rickloyd8208
    @rickloyd8208 3 месяца назад

    Man, why did you stopped your awesome videos... I was ware of txt files but I never thought to use them in the way to fill content of the objects!!! Thank you so much and thumb up!

  • @InexperiencedDeveloper
    @InexperiencedDeveloper 2 года назад +1

    Love the unique experience you bring to the game dev community!

  • @JoelRehra
    @JoelRehra 2 года назад

    Hey, Iove the streams you do with Infallible Code, and I am hyped for what you can come up here. But please keep the videos as clean as you keep your code clean... Are those special effects really adding to the underlying message of the video? One or Two might spice it up, but in this video it has been too much ;)

  • @NewbNinjas
    @NewbNinjas Год назад

    +
    Would love to see the advanced editor stuff, especially the weapons example, perhaps using JSON + validation? Great work JS, thanks again!

  • @NoahFarber
    @NoahFarber 2 года назад

    Great editing! And a great tip.. Quality content overall
    \

  • @AnnisVeryGoodGames
    @AnnisVeryGoodGames 2 года назад +10

    Neat, this is surely going to be useful at some point! Next level: How do I automate file population? ;)
    Btw, I notice your videos' audio is not quite synced up -- if you use Davinci Resolve, it can auto-sync your high res audio track based on the video's original audio track (I'm sure Premiere must have something similar).

    • @JasonStorey
      @JasonStorey  2 года назад +1

      Well I do personally have some apis I use that actually generate the prototype data, it can create fake users, ai user faces and random photos... maybe that could be another video when I have time :)
      As for the audio, that's strange. It seems in sync for me, and the audio is recording directly through the camera as a source, so that IS the original source track. Then again premiere was crashing for me this week so it could have gone a bit wrong, I'll keep an eye on it for the next one!

    • @AnnisVeryGoodGames
      @AnnisVeryGoodGames 2 года назад

      @@JasonStorey Sounds interesting! BTW, I like your topic choices so far, they're a bit more niche. Would be great to see more around advanced architecture topics as well.
      Re audio: That is strange! I asked my partner and he doesn't see it either but I swear the video is slightly delayed. I only even commented on it because I noticed it in multiple of your videos. But hey, if no one else sees it, no need to fix anything, I'll survive. :)

  • @revraitah
    @revraitah 2 года назад

    Really cool, never thought about this before!

  • @athenasowl1857
    @athenasowl1857 2 года назад +1

    The editing on this video is great! xD

  • @krawlak
    @krawlak 2 года назад

    Great video! After finishing typing the code, before switching away from it, could you keep it on screen for a second so we can pause and take a look?

  • @thomasbrush
    @thomasbrush 2 года назад +2

    Why'd you stop creating videos. These are so good

    • @orwell235
      @orwell235 2 года назад

      Totally agree with Mr Thomas. It was very entertaining yet informative.

  • @happytofu5
    @happytofu5 Месяц назад

    I've never seen a tutorial video edited this entertaining xD

  • @Malicos
    @Malicos 2 года назад

    Insta-hooked on this channel!

  • @georgekourris798
    @georgekourris798 2 года назад +2

    Very good explanation of why arrays aren' t the best approach when comes to data editing and reading. Also thank you for teaching a new for me at least class the textasset, but I tried using also something new that I saw the required attribute and the visual studio compiler wasn' t recognizing it, it was only displaying me the requirecomponent attribute. Does anyone know why I couldn' t access it ?

  • @jorisvaneijden5684
    @jorisvaneijden5684 2 года назад

    Funny and informative, a golden combination!

  • @evanlane1690
    @evanlane1690 2 года назад

    Aaaahhh!!!! You started a channel! FUCKING YESSSSSSSS!!!

  • @supertenchoo4271
    @supertenchoo4271 2 года назад +1

    Great video Jason

  • @ZettaiKennedy
    @ZettaiKennedy 2 года назад

    I like the editing. Reminds me a bit of that silly style of Clean Code videos :D

  • @madscientist338
    @madscientist338 2 года назад

    You're awesome, thanks for the video!

  • @Amheklerior
    @Amheklerior 2 года назад

    That’s a great one Jason ;) thanks

  • @alextreme98
    @alextreme98 2 года назад

    Such a good example, thanks a lot :D

  • @Elenthiriel
    @Elenthiriel 2 года назад

    Man, i love your tips

  • @Iridium.
    @Iridium. Год назад

    Would ve loved to see him make more videos..

  • @naxxtor
    @naxxtor 2 года назад

    Late to the party but thanks for the useful video! Any thoughts on loading larger quantities of data (e.g. big datasets generated by another process outside of unity ?)

  • @arfa8136
    @arfa8136 2 года назад

    Very helpful, do the validation video next. I am making a quiz game and I'm avoiding making different scenes for different levels. I just want to load the text files to load questions and other assets in the same scene via text files

  • @bluzenkk
    @bluzenkk 2 года назад

    this is super useful. Thanks!!!!

  • @MohammadFaizanKhanJ
    @MohammadFaizanKhanJ 2 года назад

    How should we apply our custom components or script automatically? I mean we drag the fbx in the hirarachy again and again and each time we have to add those compoennts. Is there any good approach video ?

  • @phontum
    @phontum 2 года назад

    Thank you for this video!
    Is there a way to make something similar with sprites?
    I am working on a game where tile sprite is being picked from an array of sprites in a scriptable object.
    And i can't think of something that would make this system look prettier

  • @vizweb
    @vizweb 2 года назад

    There was a young lady from Venus... Loving these videos, packed with useful tips and now humor!

  • @towercrowgames5115
    @towercrowgames5115 2 года назад

    Would love a vid on validation in this context.

  • @SparkeyAvalon
    @SparkeyAvalon 2 года назад

    So what's the difference between this and using scriptable objects for data loading?
    I used scriptable objects in order to import level data.
    But I didn't really understand them that well.
    I just know that I read the data and create objects out of that data. Then I create assets from those objects.
    But why is the ScriptableObject class in there? What does it do?

  • @pixeldevlog
    @pixeldevlog 2 года назад

    Great video !

  • @IndieDX
    @IndieDX 2 года назад

    Genius! Thanks for sharing!

  • @11sveden12
    @11sveden12 2 года назад

    Would be great to learn more about custom editor scripts! Especially in the context of multidimensional arrays or dictionaries since those are a huge pain to visualize traditionally (as far as I can tell anyway)

    • @wendten2
      @wendten2 2 года назад +1

      if u can spare 25USD, there is a bundle sale at the moment including the Odin inspector. This will serialize everything including multidimensional arrays, static fields and dictionaries.. I have done a bit of custom editor stuff, but you'll generally get very unflexible solutions, and its a huge pain in the a** .. so those 25 bucks is extremely well spent

  • @kerbalette156
    @kerbalette156 2 года назад

    Awesome stuff thx

  • @RichardTongeman
    @RichardTongeman 2 года назад

    Ahhh I've always wanted to know how to do this!

  • @thepanable5004
    @thepanable5004 2 года назад

    that star trek reference was gold! I didn't know you watch star trek

  • @antonionii
    @antonionii 2 года назад

    I was trying to recreate the items script file you made but the video cuts off and I'm sort of lost... Where do you call the ConvertToItem method?

  • @robosergTV
    @robosergTV 2 года назад

    Ok the video editing is awesome

  • @XZYSquare
    @XZYSquare 2 года назад

    using notepad to set values in an array
    that is a good way and gives instant feedback, clearly helps me very quickly make changes to the data in my script
    I mean unity shouldn't have given the option to inspect these
    have you not seen scriptable objects?!
    I mean like, they do exactly what you're doing but gives more freedom lol

  • @alexxxchange
    @alexxxchange Год назад

    thank you for this!

  • @antijulius
    @antijulius 2 года назад +1

    Editor Extension stuff. Would love deep hard details on that.

  • @Andreasohlin
    @Andreasohlin 2 года назад

    I can see you doing the "hello there" in every intro.

  • @pliniomourao
    @pliniomourao 2 года назад

    Yes, please address the Editor code. That's something i'd love to see and adventure into it.

  • @mohammadalinia8919
    @mohammadalinia8919 2 года назад

    Fantastic!

  • @treppas
    @treppas 2 года назад

    🤯 thank you!

  • @betterlifeexe4378
    @betterlifeexe4378 2 года назад

    Wish I knew this before deploying my own data serialization and delimiter solutions.

  • @Myzreal92
    @Myzreal92 2 года назад

    Why reinvent the wheel and not use a CSV or JSON parser?

  • @LackingGumption
    @LackingGumption 2 года назад

    nice. love the see that

  • @urzytkownikYT
    @urzytkownikYT 2 года назад

    Cool channel, thank you. Go for more of these short tip videos. Could be even shorter, more concise so you spare more time for more cool tips :)

  • @JesusW4y
    @JesusW4y Год назад

    Too good!

  • @aoliepung5692
    @aoliepung5692 2 года назад

    Thank Jason