New C# Features in Unity

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ต.ค. 2024

ความคิดเห็น • 126

  • @InfallibleCode
    @InfallibleCode  2 ปีที่แล้ว +4

    Sign up for the Level 2 Game Dev Newsletter: eepurl.com/gGb8eP

  • @Unity3dCollege
    @Unity3dCollege 2 ปีที่แล้ว +37

    Made it into the friends list! :)
    Great video btw!

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +5

      Hah! Darn right you made the list, Jason! Sorry I've been MIA, it's been a crazy year >

    • @ShatabdaRoy115
      @ShatabdaRoy115 2 ปีที่แล้ว

      Lol

  • @iHeartGameDev
    @iHeartGameDev 2 ปีที่แล้ว +35

    That sweet sweet syntactic sugar! Thanks for another awesome video, Charles! Your videos are one of the few I make sure to watch from start to finish because literally everything you explain has value.

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +2

      Thank you, Nicky! That means a lot coming from you 🙏

  • @happypixls
    @happypixls 2 ปีที่แล้ว +60

    My issue with default interface method is that it starts to blur the line between abstract classes and the classical definition of an interface (i.e. interface is a contract).
    I've honestly ran into interesting design pattern problems where I really wanted to have a default interface method, but then I thought it was a bad design from my part that trapped me in that corner.
    Even though I know that this is more of C# discussion rather than Unity discussion, but I'm curious to hear/read your opinion about it :)

    • @videoaulasmayleone
      @videoaulasmayleone 2 ปีที่แล้ว +10

      I think the same. Through this new feature, I'm not be able to see the main difference between Abstract Classes and Interfaces anymore.

    • @cyborcgames
      @cyborcgames 2 ปีที่แล้ว +9

      I imagine that the only difference now is that there is no multiple inheritance in C# so you can only inherit 1 abstract class. But your class can have more than one interface implementations.

    • @LeMustache
      @LeMustache 2 ปีที่แล้ว +5

      The change has been put in place mainly in order to provide a gateway for library developers to allow updating interfaces without introducing breaking changes. Not as an every day feature for app developers.

    • @happypixls
      @happypixls 2 ปีที่แล้ว +1

      @LeMustache, I already see what you are saying, but what about the possibility of diamond shaped interface implementation in this case (is that even possible now?) I didn't try it yet to see how the compiler handles it.
      And interfaces are no longer "contracts" unless you inforce it when you are developing with a team.
      So yeah, very interesting language design decision. Probably not introducing that feature and tell developers to write extension methods is a better idea? I don't know what would be the right answer in this case tbh.

    • @dealloc
      @dealloc 2 ปีที่แล้ว +2

      When interfaces tries to become protocols but really aren't.

  • @jean-michel.houbre
    @jean-michel.houbre 2 ปีที่แล้ว +7

    Very clear. An additional part would be welcome, your introduction is perfect for tackling the documentation effectively. Thank you.

  • @wendten2
    @wendten2 2 ปีที่แล้ว +3

    I'm so glad you mentioned the Jasons, I had a fear you were no longer on good terms. I really miss your chats with Storey, as you two had so informative correspondence with each other.

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +2

      Hah, glad to clear that up! We are all still very much on good terms. I've just been super busy so I put the livestreams on the back burner for a while.

  • @BorisNovikov1989
    @BorisNovikov1989 2 ปีที่แล้ว +11

    10:41 the line 15 seems to be a little wrong. It would print first four elements, not five as the end index is exclusive.

  • @LorenzoValente
    @LorenzoValente 2 ปีที่แล้ว +4

    Waiting for part 2! Your content is 🔥

  • @AlanZucconi
    @AlanZucconi 2 ปีที่แล้ว +8

    This is the content I'm here for. ✨

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +1

      Heck yeah! Appreciate it, Alan :D

  • @ThousandAnt
    @ThousandAnt 2 ปีที่แล้ว +1

    Great video Charles! Definitely looking forward to trying out some of those new array tricks :)

  • @INeatFreak
    @INeatFreak 2 ปีที่แล้ว +18

    I think using minus ( example: "carrots[-5]" ) rather than ^ would be a lot easier to reason about. But still a cool feature :)

    • @libberator5891
      @libberator5891 2 ปีที่แล้ว

      I agree with this. Cause I probably can't do:
      int i = ^1;
      and increment that to cycle backwards. Right? (I haven't tested it; just assuming)

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +6

      That actually _would_ make a lot of sense

    • @harshmudhar96
      @harshmudhar96 2 ปีที่แล้ว

      It actually doesn't make sense.

    • @harshmudhar96
      @harshmudhar96 2 ปีที่แล้ว +10

      If you do "-1" you're still passing an integer to the indexer, which is handled by implementing something like
      public T this[int index]
      We could always do this.
      Meanwhile, ^1 is special syntax for "new Index(value: 1, fromEnd: true)" and would be handled by implementing an indexer like
      public T this[Index index]
      Also, protip, use Index.End or Index.First instead of ^1

    • @libberator5891
      @libberator5891 2 ปีที่แล้ว +2

      Good point. And refactoring how arrays and indexing works to include out of range indices could not only break things (and not be backwards compatible), but may also slow down arrays a little bit as they'd have to do an extra step to parse the index. Guess they've thought of this 😅

  • @chaoscifer
    @chaoscifer 2 ปีที่แล้ว +3

    Most photogenic youtuber ever

  • @LipeSK20
    @LipeSK20 2 ปีที่แล้ว +6

    Default Interface Methods is definitely my new favorite feature.

  • @rafa_guitar
    @rafa_guitar 2 ปีที่แล้ว +2

    Thanks for sharing! Deafult Interface methods call my curiosity ;-)

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +2

      You should definitely read up and play around with them. They're a great tool to have in your developer toolbelt :D

  • @nareshbisht7620
    @nareshbisht7620 ปีที่แล้ว

    Indices and Range feature is awesome

  • @soverain
    @soverain 2 ปีที่แล้ว +2

    Finally! On the road to C# 10 🚀

  • @VEOdev
    @VEOdev 2 ปีที่แล้ว +1

    That array thing ^ .. will be helpfull

  • @mosth8ed
    @mosth8ed 2 ปีที่แล้ว +1

    Definitely a part two, please.

  • @DevDunkStudio
    @DevDunkStudio 2 ปีที่แล้ว +2

    Thanks for this! Really helpful

  • @rickyfreddy6963
    @rickyfreddy6963 2 ปีที่แล้ว

    Did you reupload this video? I saw it once before and I don't think it was uploaded that recently then. If so, is this a setup for a part 2? 😁

  • @zeeshansattar4531
    @zeeshansattar4531 2 ปีที่แล้ว +1

    I've subscribed to "Level 2 Game Dev Newsletter" since you announced it and I have not received any newsletter yet?

    • @ThousandAnt
      @ThousandAnt 2 ปีที่แล้ว

      Check your spam filters because we have sent a few out. Feel free to sign up again as well

    • @zeeshansattar4531
      @zeeshansattar4531 2 ปีที่แล้ว

      @@ThousandAnt didn't find there as well. And I tried to sign up again but failed got error.
      Ops I missed few newsletters despite being from one of earliest subscriber to this newsletter:(

  • @filipathtc
    @filipathtc 2 ปีที่แล้ว +2

    You look really good Charles!

  • @ElboxD
    @ElboxD 2 ปีที่แล้ว

    When this video was posted, I didn't understand a single thing of it. 3 months later, after studying like hell, I still don't get it... lol, jk. It's so cool to be able to understand every single bit of the video. I feel proud of what've accomplished in these 2 months, helps to fight the depression and impostor syndrome. It means a lot to me.
    It wouldn't have been possible without awesome people like: Charles, SamYam, and all other other amazing youtubers out there. Thanks!

  • @Gbtx6
    @Gbtx6 2 ปีที่แล้ว +1

    it sucks that we don't access to c#10or at least 09.There's just so much more added in both versions but at least we're Unity is moving forward with the changes. I just recently starting using Unity, and it's been a nice experience, but Im biased given that I already know 2 other engines, Godot and gamemaker studio 2. It feels great to use my beloved C# in an engine like Unity.
    Thanks a lot for the video!

    • @Clawthorne
      @Clawthorne 2 ปีที่แล้ว +1

      As someone who explored the current game engine market and their C# support... this is pretty much the best you're gonna get right now sadly.
      All the other engines are either stuck on really old versions of Mono, or they have poor crossplatform support, or they have kind of terrible licenses, or they simply don't care that much about C#.

    • @Gbtx6
      @Gbtx6 2 ปีที่แล้ว

      @@Clawthorne damn, that's pretty sad to hear. I'll enjoy every bit of it while I can. Thanks for the heads up and great content brother!

    • @Korn1holio
      @Korn1holio ปีที่แล้ว

      Would you recommend Godot over Unity? After a year with Unity I'm finding Unity terrible and bloated with features, half of which doesn't work as they should... I spend more time struggling with Unity's features that don't work as they should, than doing actual coding, but maybe it's just me.

    • @Gbtx6
      @Gbtx6 ปีที่แล้ว

      @@Korn1holio i got busy working on other things and stopped using unity. I plan on using it again soon.
      If you wanna make some money, in terms of job availability, go with unity and develop your own tools.
      You can also use c# with Godot, but setting up takes a bit of getting used to, so you can use gdscript of that doesn't suit you well.
      If you just wanna make 2d games, go with Godot or gamemaker. I'd still say look for good tutorials regarding unity, but most importantly, develop the tools you might need to make your life easier with Unity. It'll take some time, but it'll be worth it.
      Now i need to ask, what's the reason you're picking up Unity?

    • @raianmr2843
      @raianmr2843 ปีที่แล้ว

      not 9, you mean 9 - -. Record types and init still don't work. Arguably two most important C#9 features for writing safer code. Clean architecture is also a pain in Unity if you're still in monobehavior-land.

  • @dragonlance1121
    @dragonlance1121 2 ปีที่แล้ว +1

    @10:45 If what he is saying here is correct, wouldn't that line be incorrect? Shouldn't it be "First Four:" if the end range number is exclusive?

  • @nielsvdmarel
    @nielsvdmarel 2 ปีที่แล้ว

    great video! part 2 would be nice!

  • @epiphanyatnight8732
    @epiphanyatnight8732 2 ปีที่แล้ว

    Off topic question: What theme are you using in Rider, Charles? It looks quite soothing and not boring. :)

  • @saeedbarari2207
    @saeedbarari2207 2 ปีที่แล้ว

    Whoa. Now how long till 2021 comes LTS ?

  • @christophermonteferrante5724
    @christophermonteferrante5724 2 ปีที่แล้ว

    Part 2 please! You're the man.

  • @ludologian
    @ludologian 2 ปีที่แล้ว

    Could you do introduction into functional paradigm in c# ( for mvu design pattern) mvvm. mvu and if could be used together?( I've heard it has some similarity of game engine loop) I know it ment for app development data -code separation if this could be used in unity I would like to see an example and use cases
    also the new declarative ui systems. while I understand it's better option , I don't know if they could build it upon some maui implementations? . should I learn that too ? or because it missing some new c# futures? It's kinda weird why wouldn't they utilize unity tiny project to build something like Open fuse ( app development framework uses opengl) I believe unity could cut down app size , using .net core runtime or by new platform with burst compiler just like open fuse but with c# and all the tools we like in Unity editor.

  • @OdysseyHome-Gaming
    @OdysseyHome-Gaming 2 ปีที่แล้ว +1

    Peppered throughout? You mean sprinkled throughout. 😋

  • @christopher6886
    @christopher6886 2 ปีที่แล้ว +2

    Nice video, thanks for the info. FWIW, melee is not pronounced "me-lee", it is a French word and pronounce "meh-LAY".

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +1

      Thanks for the info! I've been pronouncing it "me-lee" for as long as I can remember but I _have_ heard it pronounced "meh-LAY". It just doesn't come out of me that way naturally xD

    • @GiraPrimal
      @GiraPrimal 2 ปีที่แล้ว +1

      @@InfallibleCode There's an easy solution for that: think how the announcer shouts "Super Smash Bros. Melee" in that game.

  • @CyberAngel67
    @CyberAngel67 2 ปีที่แล้ว

    Correct me if I am wrong, because it appears you have lost the plot.
    Unity introduce C#8 into Unity 2020.2, or at least the vast majority of that support. And as of Unity 2021.2, they introduce a small subset of C# 9.0, so I am confused how they then snuck this up to C#10 when not even all of C#9 is supported as yet?
    And C#11 is not even finalised and no work has even begun on that as yet.
    Did you have too much to drink New Years Eve?
    And 2 of the 3 things you mentioned I have specifically been using since Unity 2020.2, the other I am not 100% certain it was in that version of Unity.

  • @lifeisgameplayit
    @lifeisgameplayit 2 ปีที่แล้ว

    Thanks !

  • @Luturol
    @Luturol 2 ปีที่แล้ว

    When should I use default interface methods instead of using an abstract class?

  • @Joso997
    @Joso997 2 ปีที่แล้ว

    Don't default interface methods kind of break Abstract classes?

  • @libberator5891
    @libberator5891 2 ปีที่แล้ว +1

    I've signed up for the newsletter, but has any been sent out yet? I haven't seen any

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว

      We're running a little behind on last month's issue due to the holidays. Our next newsletter should go out by the end of this month :D

    • @libberator5891
      @libberator5891 2 ปีที่แล้ว

      @@InfallibleCode ok so you *have* sent some out. I signed up right at the start, so maybe my email got lost. Guess I'll sign up again. Thx for the great content Charles!

  • @pliniomourao
    @pliniomourao 2 ปีที่แล้ว +2

    Part 2 please

  • @badverb9267
    @badverb9267 2 ปีที่แล้ว +1

    Excellent content. :)

  • @manzell
    @manzell 2 ปีที่แล้ว

    Is there a reason they used a carat for the index-from-end rather than a - negative sign?

  • @Tarodev
    @Tarodev 2 ปีที่แล้ว +1

    Default interface methods, how fantastic. Probably making it harder for new devs to decide between interface and abstract now they're even closer together 😜
    Thanks for the video Charles!

  • @RedLionYTB
    @RedLionYTB 2 ปีที่แล้ว +1

    Will there still be code review lives?

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +1

      I don't think there will be for a couple of months. But we may pick them back up in the Summer. And if not live reviews, we may pre-record them.

    • @RedLionYTB
      @RedLionYTB 2 ปีที่แล้ว

      @@InfallibleCode Great! Lookin forward for the code reviews, also really nice video :D

  • @maximilianherz
    @maximilianherz 2 ปีที่แล้ว +1

    Nice Video, Thank you! Can anyone tell me why C# allows Methods in Structs? I learned that structs are only for data. I dont even think other languages allow this.

    • @GiraPrimal
      @GiraPrimal 2 ปีที่แล้ว +3

      That "only struct for data" convention kinda makes sense in languages like C++ where there’s almost no difference between classes and structures. In C++, only the default member accessor changes.
      Things work a bit differently in C#.
      Structs are value types, meaning they are copied when passed to a function or to a variable, and instantly destroyed when you no longer need them. They do not support inheritance, but they do support interface implementation.
      Classes are reference types, which means you’re only passing a reference to the same instance of a class when calling a function or changing a variable. The instance is only destroyed later by the garbage collector when all references to it are lost. They support class inheritance and interface implementation.
      There are other subtle differences, but that’s the basics. In C#, it’s good practice to use structs only to hold small amounts of data, or in some cases when you want to keep full control of memory usage.
      With both types, it’s a good idea to define methods to manipulate them easily.

    • @maximilianherz
      @maximilianherz 2 ปีที่แล้ว +1

      @@GiraPrimal Thanks for the answer! :)

  • @ShatabdaRoy115
    @ShatabdaRoy115 2 ปีที่แล้ว

    If you can compare the older and newer functions, it would help young devs like me. NEED PART 2 PLSSSSS

  • @modernkennnern
    @modernkennnern 2 ปีที่แล้ว +1

    If it uses .Net Standard 2.1, can you not then use C#10 features? Even .Net Standard 2.0 supports (most of) C#10 features

  • @meowsqueak
    @meowsqueak 2 ปีที่แล้ว

    readonly on a property or method looks a lot like class member function “const” in C++, but there a “mutable” keyword on a data member is needed in order to implement optimisations like memoisation and logging. In this video, to be analogous, the LastDistanceUpdated time stamp should somehow be allowed to be modified even though Distance is readonly - does C# 8 provide for this?

    • @MidnightSt
      @MidnightSt 2 ปีที่แล้ว

      readonly on a (public) property means it's read-only *from the outside*. it's a shortcut for Property { public get; private set; }
      You can still change its value from the inside of the class that owns the property.

    • @meowsqueak
      @meowsqueak 2 ปีที่แล้ว

      @@MidnightSt in the video the readonly keyword is applied to a method / member function, and the “fix” shown to get it compile is to remove a change to a non-readonly property. What I’m asking is how to mark that property as mutable so that a readonly method can modify it internally.
      Edit: I suspect what I’m asking isn’t possible due to the way C# handles value types - a mutable internal field of a struct modified by a “readonly” method would break the compiler’s ability to avoid a copy, so probably doesn’t make sense like it does in C++.

  • @siarheipilat8152
    @siarheipilat8152 2 ปีที่แล้ว +1

    Wait so i don't get it. Is Range supported now or what? Or is it only for 2021?

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว

      It's supported from 2021.2 and onwards. You have to select Net Standard 2.1 in your project's settings to gain access to it and all of the other C# 8 features.

    • @crossslive760
      @crossslive760 2 ปีที่แล้ว

      @@InfallibleCode Hi thx for the video but i cant use Range in my template urp project. Net Standard 2.1 already selected by default urp template project btw.

  • @sqw33k
    @sqw33k 2 ปีที่แล้ว

    10:10 Wouldn't that be the fourth from the end? "Brackeys"

  • @Draekdude
    @Draekdude 2 ปีที่แล้ว

    Keep up the great videos!

  • @WarlordMSM
    @WarlordMSM ปีที่แล้ว

    should not fifth element form the end be ^5?

  • @meowsqueak
    @meowsqueak 2 ปีที่แล้ว

    Gosh, two different syntaxes for ranges and indexes from the end of a sequence - could have just used slice notation from Python and got both with one nice syntax…

  • @soper51so66
    @soper51so66 2 ปีที่แล้ว

    I need your advice guys for someone like me who focus on 3D design and animation
    Which is better to choose UE4 Blueprint or Unity C# ?

    • @styliann
      @styliann 2 ปีที่แล้ว +2

      In Unity you have Visual Scripting which is quite user-friendly. I would just take a look at both and see what works for you. If at some point you’d like to add some pieces of manually written code C#/Unity is significantly easier though.

    • @TheAgavi
      @TheAgavi 2 ปีที่แล้ว

      @@styliann Not to muddy the water again but UE4 also has visual scripting. Unity does use C# which I hear is easier to learn than C++ in UE4

    • @Clawthorne
      @Clawthorne 2 ปีที่แล้ว

      For design and animation I'd say UE5, simply because of the new light and rendering engine. You'll be able to make some spectacular looking things.
      Blueprints are more than enough to do simple things like choreographing animations and triggering events in scenes.

    • @K3rhos
      @K3rhos ปีที่แล้ว

      I worked with C++ for years, and recently moved to C#, honestly this is night & day, it's a lot of time saving, C# is way easier and more modern to program with, the only issues is on the security aspect, it's way easier to obfuscate and protect your code from piracy/reverse engineering when working with C++, because it's a closer language to assembly. C# on the contrary it's really easy to decompile and stole your code.
      EDIT: Forget about visual scripting, you will never become a real dev if you do visual scripting, maybe it's worth as a begineer to start with, but as soon as you're familliar with some programming concepts move to real programming, it's way better and possibilities are endless !

  • @misterstudentloan2615
    @misterstudentloan2615 2 ปีที่แล้ว

    Can make a part 2?

  • @makoto-samaru8004
    @makoto-samaru8004 2 ปีที่แล้ว

    So that's why my unity editor crashes every time i try to put a script component in my gameobjects.

  • @CommsDanielHession
    @CommsDanielHession 2 ปีที่แล้ว

    i ididn't know VB was so popular.

  • @psychologiagaming502
    @psychologiagaming502 2 ปีที่แล้ว

    omg, this is why they recommend visual studio 2019 rather than 2022???

  • @hamsterhaunter5718
    @hamsterhaunter5718 2 ปีที่แล้ว +2

    Can we talk on patreon? It's important

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว

      Just replied to your message on Patreon and took care of what you asked about 👍

  • @dasten123
    @dasten123 2 ปีที่แล้ว

    lol what kind of statistic is listing freaking visual basic before javascript in terms of popularity??

  • @felipepeixoto8782
    @felipepeixoto8782 2 ปีที่แล้ว

    i want my "___ is not null" conditional instead of "!( ___ is null)"

    • @libberator5891
      @libberator5891 2 ปีที่แล้ว

      if(__ != null)
      or just...
      if(__)
      You must be coming from python 😉

    • @Serotonindude
      @Serotonindude 2 ปีที่แล้ว

      @@libberator5891 'x != null' is not always the same as 'x is not null' since you can overload the != operator... also, the last one just reads nicer 😊

  • @ashereinhorn
    @ashereinhorn 2 ปีที่แล้ว

    🐱

  • @apptemon
    @apptemon 2 ปีที่แล้ว +1

    Readonly member looks too dangerous to use. It generates garbage implicitly and implicitly changes behaviour

    • @Serotonindude
      @Serotonindude 2 ปีที่แล้ว +1

      that's why you get a warning when it does ^^

  • @MidnightSt
    @MidnightSt 2 ปีที่แล้ว +1

    Oh. So Interfaces have now become almost classes, in the name of having one of their main points removed =D. "Nice".
    Changing an interface is difficult, because it breaks all implementors.
    YES, that's the point. It's a contract. Changing a contract SHOULD be difficult and anger everyone who is currently bound by it. That's the point of a contract.
    If you need to change the contract when it's already in use... You have failed at making the contract, and no amount of turning Interfaces into Classes will save you. The only thing that putting functionality into interfaces will do, is shoot you in the foot even further.

  • @SnakeEngine
    @SnakeEngine 2 ปีที่แล้ว +2

    Programmers who write code that a human can easily understand typically don't know how to write code that a computer can easily understand.

    • @InfallibleCode
      @InfallibleCode  2 ปีที่แล้ว +1

      That's an interesting point of view. In my experience, I haven't seen that. I've noticed that young coders tend to enjoy trying to write code that "feels" really technical -- like one liners and overly complicated structures -- and more experienced coders know how to express their intent in a more intuitive way. Just my take.

    • @DavonAllen92
      @DavonAllen92 2 ปีที่แล้ว

      i think a computer can ready any garbage you throw at it so long as its syntactically correct. weather or not its performant is another issue entirely, weather or not its secure is also another issue entirely. coding is communication, either to other devs or to your future self. so human readable over cute and complicated every time will yield less headaches.

    • @K3rhos
      @K3rhos ปีที่แล้ว

      Yes and no, it was true in the past because of the technical limitations of computers, nowdays if you're code is not fully optimized for a computer but way more readable for a human, it's still a better approch.
      In the past they're was a lot of bitwise operators magic, pointers magic and stuff like that to get some codes easier for the computer to compute and work with, but this is thing of the past, it's always cool to see how programming was and experiment a bit with old languages (like C, C++), but let's be honest, no one on earth would prefer to work with in mind thinking of how you need to create a 1ms more optimized algorithm just to get your computer happy lol !

    • @SnakeEngine
      @SnakeEngine ปีที่แล้ว

      @@K3rhos No, you have no idea how much modern software is slowing down computers. One major bottleneck of modern computers is memory speed, it is extremely slow. You can easly bottleneck the CPU by a factor of 100x if you don't take care how to write performant software. If you actually write just simple single-threaded code in assembler that crunches on tons of data, it will be still several times faster than doing the same thing in Unity utilizing DOTS and multithreading. Let that sink in.

    • @K3rhos
      @K3rhos ปีที่แล้ว

      @@SnakeEngine No, this is something I know about, I worked with C++ for multiples years, and also did a bit of assembly, I know that the closer you are from the machine language the closer you get something fast, but this is something that you CAN forget this days. C# is really powerful and fast, not as fast as C++ but it's still better to work with. And on Unity you can use ILL2CPP to get a compiled C++ executable at the end which can also increase performance.
      EDIT: If you care that much about increasing your performance, you will never program a huge project (or maybe you will do it but with a lot more time wasted in optimization), huge projects will be better if they are more readable and understable for a human than your tiny optimization you will get from your "clever" codes.
      What I'm saying here is, ofc you need to optimize your code to be the faster, but don't try to code like a nerd from the 90's, there is a limit between: Optimisation and rentability.

  • @batnikelam-mavzer443
    @batnikelam-mavzer443 ปีที่แล้ว

    ww

  • @lazysnail145
    @lazysnail145 2 ปีที่แล้ว

    So anything actually useful for UNITY developers? I watched the video and nothing shines to me as something game changing. Interfaces are now just abstract classes, read properties nobody cares, single line mess become even worse borderline unreadable, what else