Namespaces in Unity

Поділитися
Вставка
  • Опубліковано 6 вер 2024
  • Sign up for the Level 2 Game Dev Newsletter: eepurl.com/gGb8eP
    In this video, you'll learn how to use namespaces in Unity to organize your project.
    #Unity3D #UnityTutorial #GameDevelopment
    Some developers think you shouldn't use namespaces in Unity, but they can provide a lot of value to medium/large-sized projects. Not only do they help organize your project, but namespaces open the door to Assembly Definitions which can speed up your compilation times dramatically. Additionally, using namespaces in Unity automatically makes any project easier to maintain, scale, and - most importantly - easier to understand.
    📦 Download the code at / 36164698
    👨💻 Join our community: / discord
    ❤️ Support the channel: / infalliblecode
    My Favorite Unity Assets 💯⤵️
    1️⃣ Odin Inspector: assetstore.uni...
    2️⃣ Shapes: assetstore.uni...
    3️⃣ Easy Save: assetstore.uni...
    4️⃣ Dialogue System for Unity: assetstore.uni...
    5️⃣ Editor Console Pro: assetstore.uni...
    ⚡ Learn more about Unity 3D Plus at prf.hn/click/ca...
    👋 Contact me directly at charles@infalliblecode.com
    * Disclosure: These are affiliate links, which means I'll receive a commission if you use them to make a purchase.

КОМЕНТАРІ • 125

  • @Ratstail91
    @Ratstail91 4 роки тому +171

    14 classes.
    "That's an awful lot of class files"
    Me: ...ok

    • @simonspasskiy
      @simonspasskiy 3 роки тому +5

      Same

    • @47Mortuus
      @47Mortuus 2 роки тому +4

      "When it's this much to work with, it can become a bit overwhelming"
      Me: ...ok

  • @cok3n
    @cok3n 4 роки тому +88

    Infallible Code is my new favourite anime :D

  • @adamodimattia
    @adamodimattia 4 роки тому +58

    One of the the most underappreciated Unity channels. Fantastic stuff and great format. Best of luck to you guys, keepe up the great work.

  • @alapidis
    @alapidis 2 роки тому +23

    What an incredible video format. This sort of 1:1 conversation, keeping it upbeat and honest, discussing the pro's and con's of something casually is exactly the sort of experience one gains from a class or mentor. This video format is excellent! Great job guys.

  • @SHOOTINGDNA
    @SHOOTINGDNA 4 роки тому +20

    Thank god... This time it was not Charles calling Charles 😂🤣😂😂

    • @InfallibleCode
      @InfallibleCode  4 роки тому +15

      My mental state is starting to stabilize xD

  • @yayz_
    @yayz_ 2 роки тому +4

    This format reminds me of old school instructional videos but modernized. It's refreshing and easy to stay attentive to. Keep up the great work!

  • @martycarr1477
    @martycarr1477 4 роки тому +4

    Jason is the patron saint of clean code

  • @BeeGameDev
    @BeeGameDev 4 роки тому +6

    Yet again knocking it out of the park with the examples. It's great to have this as a reference that I can send to new coders having problems, without having to worry about them picking up bad habits from the tutorials.

  • @eugenemigursky9608
    @eugenemigursky9608 4 роки тому +11

    People say Leonardo Dicaprio is going to give up his Oscar after he saw Charles and Jason acting :)

    • @DarthStevenus
      @DarthStevenus 3 роки тому

      They gonna have to eat a raw fish first.

  • @GameDevHQ
    @GameDevHQ 4 роки тому +19

    When are we getting a full length feature film of this stellar quality?

  • @daffertube
    @daffertube Рік тому

    learned about rider because of this video.

  • @ArgentFox
    @ArgentFox 6 місяців тому

    Thanks so much for showing how to set the namespace both in Unity and Rider. I was ripping my hair out because Rider kept wanting to create new class files with "DefaultNamespace" instead of the namespace I was manually setting for each file.

  • @kirbymia6209
    @kirbymia6209 3 роки тому +5

    I love these conversation style tutorials! They make the concepts stick in my brain.

  • @magnusm4
    @magnusm4 7 місяців тому

    I wish a tutor conversation would go this well.
    If I'm being taught then I'll have to ask least 3 question in their first sentence.
    Worst is in school when the answer is "That's not important right now, let's just focus on this."

  • @Tymon0000
    @Tymon0000 3 роки тому +2

    How to skip "Scripts" or "Assets" names when automatically switching namespaces?

  • @alpercaner2923
    @alpercaner2923 3 роки тому +2

    adjust namescapes creates namespace like _Project.Scripts.FolderName.SubFolderName :(

    • @wyworak
      @wyworak 3 роки тому

      They show how to solve your problem in this video: ua-cam.com/video/pfiZVTDhWyM/v-deo.html

  • @lmao01
    @lmao01 4 роки тому +4

    Thanks for these videos.
    It would really be useful to see a tutorial how to organize code and folders so they can work with assemblies. You touch in this video very briefly on this.
    Maybe few examples how to split code when there are recursive references in assemblies.

  • @brockormond4131
    @brockormond4131 4 роки тому +5

    Okay, I'm in the middle of a project that didn't start with a root namespace and I'm using Visual Studio for my editor. I was able to change the root in Unity following the video, but not in VS; so my scripts haven't changed. Do I have to do that manually in this case or is there a faster way?

  • @mracipayam
    @mracipayam Рік тому

    I've never seen a greate format like this and sad for finding 3 years later.

  • @sheppowed4483
    @sheppowed4483 3 роки тому +2

    Underrated channel, I am learning c# for unity and you content helps me a lot! Keep going :D
    Hi from France

    • @InfallibleCode
      @InfallibleCode  3 роки тому +1

      Hi! I really appreciate your feedback 😄

  • @ofiryehudar12
    @ofiryehudar12 2 роки тому +2

    On the right-click menu I don't see the "Refactor This" button, am I missing something? Maybe an extension to download?

    • @greencubegames
      @greencubegames Рік тому

      is a extention called rider, from resharper

  • @RomanPapush
    @RomanPapush 4 роки тому +2

    I’m loving this format of your videos, terrific job guys! 🙌

  • @dynasticc
    @dynasticc 3 роки тому +1

    i noticed you use rider, maybe we could get a video on why you prefer it over VS?

    • @midniteoilsoftware
      @midniteoilsoftware 2 роки тому

      at the very least, I'd like to know if there is an equivalent shortcut to "refactor this" in VS?

  • @yadav-r
    @yadav-r 2 роки тому

    Oh. wow.. amazing.
    I was working as a game tester, looking forward to switching to game development, I have little coding experience, your videos are very helpful in learning. Thank you very much, sir.

  • @maple7rees-352
    @maple7rees-352 Рік тому

    Damn. Treasure trove of unity info. Thank you.

  • @Kramlets
    @Kramlets 4 роки тому +1

    I recently made a Python script to remove all the namespaces from my files after doing research that using namespaces weren't really needed.
    Note that this wasn't any layered namespaces, just a single root namespace for everything.
    And yes, it definitely made me feel more legit to use a namespace lol.
    It feels like something that should be done at the end of a project's life, during the optimisation phase. I didn't know it could speed up compile times. That *might* be useful if I'm building a lot, though I can imagine it would be a pain to manage.

  • @logiis6
    @logiis6 2 роки тому

    I dont know why, but me being the third person listening to your conversation just feels more natural than standart tutorial.

  • @lokiorphen
    @lokiorphen 3 роки тому +3

    hi , I recently follow another project with Unity 2019.4.1f1. I'm trying to add a script component but it can't be applied because it has a namespace therefore the file name doesn't match to the class name . I've tried to resharper/refactor it and adjust namespace but there is no those options in my visual studio 2017. I was wondering if you could give me a suggestion for this problem (or anyone has a solution ). I will be grateful .

  • @BenightedAlizar
    @BenightedAlizar Рік тому

    Glad I stumbled across this! Inspired me to set up proper namespaces for my current project.
    BTW if you are using Visual Studio and don't have Resharper to mass-add namespaces, you can right click (or use your refactor hotkey) above a class name to add an individual script to a namespace as a refactoring action.
    At least for me the property window didn't work, apparently Unity likes to take control of it.
    If you have a ton of scripts, maybe you could open the properties by closing Unity first; I didn't try it.

  • @tam_69420
    @tam_69420 Рік тому

    in case anyone finds this, in order to do what he did in 4:01 you hold ctrl and click the files, this also works with highlighting text, and holding shift has a different yet useful effect.

  • @farianderson168
    @farianderson168 Рік тому +1

    so now instead of interactables namespace you have to use core namespace in the key class right ?

  • @daffertube
    @daffertube Рік тому

    Thanks!

  • @paulopatine
    @paulopatine 4 роки тому +1

    Much better than Netflix

  • @moduntilitbreaks
    @moduntilitbreaks 4 роки тому +2

    Quality as top notch as always.

  • @EmotionTheory
    @EmotionTheory 3 роки тому

    I *love* the conversational format of your videos - it is extraordinary for learning such topics. Great work, Charles.

  • @yanndetaf5725
    @yanndetaf5725 4 роки тому +2

    You just made Amazing job guys. Keep going on

  • @chrisball249
    @chrisball249 4 роки тому +2

    Does the Core folder have namepace InfallibleCode.Core? Doesn't this produce the same problem?

    • @farianderson168
      @farianderson168 Рік тому

      I think the answer is at least the two namespaces interactables and keypad are separate now so you can have separate assemblies for each and changing one namespace wouldn't need the other to recompile, that's the benefit.
      of course changing the core namespace would need the other two both to recompile cause they should reference to it but the overall compile time will be reduced and the readability of the code will be increased.

  • @ufukseyithan
    @ufukseyithan 4 роки тому

    Dude, those game invites in the end of your videos just kill me! Keep up the good work!

  • @alsharefee
    @alsharefee 4 роки тому

    I like how small and informative it is.

  • @relixgames9425
    @relixgames9425 4 роки тому +6

    Hey m8. Just dropping in to say that I found you because of one of your ads. So, you at least got someone out of it.

    • @InfallibleCode
      @InfallibleCode  4 роки тому +1

      Thanks for dropping by. I’m glad to hear those ads are a working lol Enjoy the content!

  • @silvanpaul2531
    @silvanpaul2531 2 роки тому

    even tough i knew about namespaces; your video is clear and great!

  • @lonelycrescendo
    @lonelycrescendo 2 роки тому

    Hmm for some reason the project properties doesn't appear. It just refreshes an empty properties window. I'm using visual studio 2022

  • @RobLang
    @RobLang 4 роки тому +1

    Great video. Wish that C# had an access modifier that allow you to restrict to current namespace and child namespaces. It would allow me to be much more distinct about where domain entity boundaries were.

    • @bbrainstormer2036
      @bbrainstormer2036 7 місяців тому

      It has something like that for assemblies

    • @RobLang
      @RobLang 7 місяців тому

      @@bbrainstormer2036 absolutely - however the issue with separating assemblies is you can quickly get into circular reference issues. I want more granular control within a given assembly.

  • @erz3030
    @erz3030 4 роки тому +1

    Another great video fellas, keep em coming!

  • @sagiziv927
    @sagiziv927 4 роки тому +1

    Amazing video, I have learned so much from it. Very informative and well explained. Immediate like👍

  • @pansammi2184
    @pansammi2184 2 роки тому

    this video reminds me of those very very old english learning videos for non English speakers, this role play thing hahahahaha

  • @SqrlyCode
    @SqrlyCode 4 роки тому +1

    Amazing informative and packed Content! Kepp up the amazing work!

  • @GallDeveloper
    @GallDeveloper Рік тому

    Tego właśnie szukałem :p

  • @rohitdoestech
    @rohitdoestech 4 роки тому +1

    nice to see rider

  • @sufianahmad7337
    @sufianahmad7337 4 роки тому +2

    well explained

  • @noodle-eater
    @noodle-eater 4 роки тому

    your videos is awesome, this is really a skill that is used in the game company

  • @MrWursteimer
    @MrWursteimer 4 роки тому

    I really like those videos. I learned a lot from them. Thank you!!

  • @Blu3W4r10Ck
    @Blu3W4r10Ck Рік тому

    So this requrires Rider/Resharper? I think Resharper is 139.00 USD for individuals...

  • @Tymon0000
    @Tymon0000 3 роки тому

    I got 600 classes and I'm halfway through the project :D

  • @ClutchGen
    @ClutchGen 3 роки тому

    This is fantastic, thank you Jason and Charles (Barles?)!!

  • @dfghj241
    @dfghj241 Рік тому

    do you NEED to separate then by a folder? no right?

  • @InProductionsrodLove
    @InProductionsrodLove 4 роки тому +1

    I tried to view the properties on the assembly and it doesnt do anything. And it wont let me right click refactoring of namespaces the option isnt there. What do I need to do?

    • @chrisrush841
      @chrisrush841 4 роки тому +1

      It's only available in the Rider IDE or if you have ReSharper installed in Visual Studio. It would've been nice if they had mentioned that this functionality required Rider or ReSharper, and that neither option is free.

  • @Bylem_
    @Bylem_ 4 роки тому +14

    What a roleplay hahah

  • @unitygamedeveoper009
    @unitygamedeveoper009 2 роки тому

    Hello there. What if i simply want to call function from another in this "Name space using script" ??? Help me

  • @richnaisanze
    @richnaisanze 4 роки тому +1

    I always asking why should I use namespaces, here's 2 awesome dudes tell me about the answers. Really nice approach to tell people what namespaces is... Thanks

  • @valerii-barabanov-vvb
    @valerii-barabanov-vvb 2 роки тому

    And you can switch Namespace provider option in Folder Properties to tweak automatic namespace refactoring.

  • @pcbuilderindia4104
    @pcbuilderindia4104 2 роки тому

    Amazing

  • @UNIQUERAGE1
    @UNIQUERAGE1 3 роки тому

    You are a pair of chads, thank you so much

  • @MsSnoozable
    @MsSnoozable 3 роки тому

    Was there a video talking about why we want all of the unity scripts in a defined root namespace? Isn't the whole point of namespaces so you can access the definitions easily.... Why would you need to do that for a Unity project? (He just says "charles told me to do that so all my code can live under the same namespace"). I get the setup bit is so that new scripts created automatically start with that root namespace, but why do I even need one???!

  • @Inf4mousKidGames
    @Inf4mousKidGames 3 роки тому

    i need to know the end card music

  • @darkdoom907
    @darkdoom907 Рік тому

    Why is his right click and my right click so different?

  • @restushlogic5794
    @restushlogic5794 Рік тому

    How about visual studio 2022?

  • @yousefabodeif5677
    @yousefabodeif5677 4 роки тому

    Thanks a lot man!

  • @BDtetra
    @BDtetra 3 роки тому

    hmm, shouldn't Doors and Keys also be in Interactables? As in InfallibleCode.Interactables.Doors and InfallibleCode.Interactables.Keys ??

  • @brockormond4131
    @brockormond4131 4 роки тому

    The C# Assembly is not showing up in my Solution window... where is it?

  • @ebrahimkarimi1388
    @ebrahimkarimi1388 2 роки тому

    Thanks for your top-quality videos. But I wonder why your videos have so few likes. This is not their right.

  • @omerfarukbykl6097
    @omerfarukbykl6097 4 роки тому +1

    do you do this bad casting intentionally?

  • @okamichamploo
    @okamichamploo 3 роки тому

    very interesting video. so.. um.. what's a namespace?

  • @Holzf43ller
    @Holzf43ller 3 роки тому

    I saw this video and a few others of yours. then i started my project.
    But now i want to add other folders and i cant. Whenever i try to add a new folder and C#-Files in it they are not recognized in Rider.
    No intelisence, nothing.
    So i am back to square one needing to put every new file in one of my existing folders.
    So in the bottom line this made everything kind of worse.
    Irewatched this videosand others with thisd topic again and again but i did not find my error.
    And this is kind of ... not good.

  • @happybadger2270
    @happybadger2270 2 роки тому

    does this work in vscode as well?

  • @cuttlas2955
    @cuttlas2955 4 роки тому

    thank u very good video

  • @artohaapanen7764
    @artohaapanen7764 4 роки тому

    Which code editor do you have in use?

  • @anlumman3897
    @anlumman3897 3 роки тому

    Oh hi Mark.

  • @InfallibleCode
    @InfallibleCode  4 роки тому +1

    📦 Download the code at www.patreon.com/posts/36164698

  • @diliupg
    @diliupg 4 роки тому +1

    Jason looks like your bro.. :)

  • @diplodocus3
    @diplodocus3 4 роки тому +1

    haha, great one!

  • @TectonicPlate
    @TectonicPlate 4 роки тому

    Came for the code, stayed for the plot

  • @troshto
    @troshto 4 роки тому +1

    Has Jason made a UA-cam channel yet??

  • @Visuwyg
    @Visuwyg 2 роки тому

    I appear to have some namespace issue in my project, but this video didn't really teach me what they are. I like the format though, it's basically artist me and my programmer friend.

  • @diplodocus3
    @diplodocus3 4 роки тому

    you used Chris Heria music?

  • @unorthodocs1103
    @unorthodocs1103 4 роки тому

    I love how these are setup. I can follow along and listen as its explained to the reasoning why these are done the way they are.
    Keep up the awesome work man.
    Also just a heads up in your Information panel under your favorite assets you have a link reflecting the same page as another.
    Editor Console Pro's link is directing to the page for Rainbow Folders 2.

  • @lonelycrescendo
    @lonelycrescendo 2 роки тому

    I wish I would've known.. I'm using folders but I have 63 scripts now and it's taking like 3 minutes to recompile between every script change. >.

  • @hamsoft23
    @hamsoft23 2 роки тому

    No entendí nada pero está muy bien

  • @creepyDeadBoy
    @creepyDeadBoy 4 роки тому

    By moving class files outside of Unity, doesn't Unity recreate the meta files and assign new Guids? Any moved Component class would appear as a "missing script" in Unity. Or is Rider smart about this and relocate the meta files as well? *_UPDATE:_*_ Rider is smart about this!_

    • @creepyDeadBoy
      @creepyDeadBoy 4 роки тому

      I just tested moving and renaming a script in Rider, and it looks like the meta file is relocated/renamed as well. Most importantly, the Guid is retained. _This is pretty slick!_
      I don't believe Visual Studio does this. It certainly didn't in the past. After being burned a few times, I got into the habit of always moving and renaming scripts _inside_ Unity to avoid broken references due to new Guid assignments.
      *From the Unity manual*, "Important: .meta files must match and stay with their respective Asset files. If you move or rename an asset within Unity’s own Project window, Unity will also automatically move or rename the corresponding .meta file. If you move or rename an asset outside of Unity (i.e. in Windows Explorer, or Finder on the Mac), you must move or rename the .meta file to match.
      If an asset loses its meta file (for example, if you moved or renamed the asset outside of Unity, without moving/renaming the corresponding .meta file), any reference to that asset will be broken. Unity would generate a new .meta file for the moved/renamed asset as if it were a brand new asset, and delete the old “orphaned” .meta file."

  • @Ziplock9000
    @Ziplock9000 Рік тому

    Meanwhile, in the real world.... This falling into the same problem as Brackys videos

  • @darkdoom907
    @darkdoom907 Рік тому

    what code editor is this?

    • @RintarouOkabe9
      @RintarouOkabe9 Рік тому +1

      Apparently is Jetbrains Rider, and has not free version :(

    • @darkdoom907
      @darkdoom907 Рік тому +1

      @@RintarouOkabe9 thanks kyouma kun

  • @LostSockDrawer
    @LostSockDrawer Рік тому

    reminds me of mod ash

  • @UnityVR
    @UnityVR 4 роки тому +1

    I had a code smell once

  • @paulogodinho3275
    @paulogodinho3275 4 роки тому +3

    Does a minor mistake:
    *OOF*

  • @nauka9634
    @nauka9634 2 роки тому

    Film noir

  • @fille.imgnry
    @fille.imgnry 5 місяців тому

    ..and this is how you never finishe your game project 😂

  • @toystoryscarymovie-forkids3323
    @toystoryscarymovie-forkids3323 2 роки тому

    too much grammer not beginner friendly

    • @lotussy7698
      @lotussy7698 2 роки тому

      not everything has to be beginner friendly :)
      It was perfect for me^^

  • @INeatFreak
    @INeatFreak 4 роки тому +4

    It's a bit cringe

    • @InfallibleCode
      @InfallibleCode  4 роки тому +9

      Let’s be honest - it’s a LOT of cringe lmao but I had fun making it and people seem to like them!

    • @alexmobile5547
      @alexmobile5547 4 роки тому

      ​@@InfallibleCode No! this is, by far, the most in depth tutorials i have found on youtube. Most people just slap a huge monolithic class and say , "congrats! you made a game! Game dev is easy! Go make your own game." Its easy to make tutorials with buzzwords and click bait titles for views.
      You, on the other hand, showed me how to future proof and create scale-able code. Yes, it looks cringe and stupid but it works , so, its not cringe and stupid.
      You choose to support developers that were on the verge of insanity because they didnt know how or why their code failed. I dont care if you upload 2 hours long videos of you talking to your self. Your Tutorials are DEADLY.
      Every time my project grew in size and complexity and the frame rate "Tanked" like Tiananmen square, You were there to tell me not to be afraid. You and your Schizophrenia kept me from quitting all together. Calling ​Infallible Code cringe is like calling Mother Tereza cringe because she fed the poor and helped those in need...
      All that you say, you are helping people. A lot! that can never be "cringe" in my books.
      Ps Sorry if my comment is a bit incoherent but i haven't slept for 30+ hours.

  • @pinkaltercation
    @pinkaltercation Рік тому

    STOP WITH THE CRINGE ACTING HOLY