UNITY does WHAT NOW?? The State of Unity

Поделиться
HTML-код
  • Опубликовано: 7 дек 2022
  • I am looking at UNITY and, what has happened over the last few years - where are we now - and how can YOU move forward? After watching this video, you will know if you should bother with DOTS (the Data Oriented Technology Stack) including ECS (Entity Component System), Burst Compiler, Job Systems and you will know WHICH RENDER PIPELINE to choose for your next game. You will also know which UI you should use (yes, there are 3 of them now) and what the current status is with Unity networking.
    It can all be a bit confusing, but I will try my best to help you understand where we are at and how we can make use (or not make use) of the new technology. Let's get started!!
    Support me on Patreon:
    / imphenzia
    This .blend-file can be downloaded from my Patreon page from the Tutorial tier and up.
    Imphenzia's Handpicked GameDev.TV Courses with 85% Discount:
    www.gamedev.tv/p/imphenzia?co...
    10-Minute Modeling Challenge Series Playlist:
    • Blender 10 Minute Mode...
    In-depth learn how Low Poly Modeling in Blender:
    • Learn Low Poly Modelin...
    My web site:
    www.imphenzia.com
    Twitter:
    / imphenzia
    My Itch.Io page with all my Ludum Dare games:
    imphenzia.itch.io/
    Imphenzia Discord server invite:
    / discord
    My Instagram:
    / imphenzia
    Imphenzia Merch:
    teespring.com/stores/imphenzia
    My Twitch Channel:
    / imphenzia
    Additional info:
    I've been modeling in Blender since about 2015 but more recently in the past couple of years. I've been making games and assets in Unity since 2011 and I'm currently working on a multiplayer RTS game called Line War that we released in 2022.
    I use a Sony FX3 Camera, a Strix ROG Scar 17 3080TI laptop and not much more these days =)
    Thanks a lot for watching and sharing my videos :)

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

  • @Faygris
    @Faygris Год назад +152

    00:00 Introduction
    07:00 DOTS (ECS, Burst Compiler, Job System)
    12:28 Render pipelines (Built-In, URP, HDRP)
    16:56 UI systems (Unity UI, UI Toolkit, IMGUI)
    20:58 Networking (Netcode, Transport, services)
    29:32 Conclusion

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

      Actually, you can use VFX graph in Built in RP to render millions of particles, I use it myself

    • @sergodobro2569
      @sergodobro2569 Год назад +1

      Thanks for timestamps!

  • @tt128556
    @tt128556 Год назад +246

    From a beginner's point of view the biggest change has been the shader section. RUclips is full of amazing tutorials from 2-3 years ago which are pretty much impossible to follow thanks to massive changes in shader creation. I'm sure all the same features are still somewhere in there but the tutorials have not been updated so it's a real pain most times.

    • @saniel2748
      @saniel2748 Год назад +32

      Shader tutorials wouldn't need to be a thing if unity had documentation for shader API
      Which they do not. Never had. I don't know why, only reason to find out what most built in hlsl stuff does is just by reading code...

    • @thomasfalcon6350
      @thomasfalcon6350 Год назад +13

      Lack of tutorials for Shader Graph and VFX graph is also a problem. I think many people aren't even aware that they exist.

    • @Chris-jo1zr
      @Chris-jo1zr Год назад +3

      @@thomasfalcon6350 There's a tonne of support for ShaderGraph, Daniel Ilet for instance.

    • @benjamin_fdw
      @benjamin_fdw Год назад +21

      The problem with tools like unity, ue5, blender etc. Is that they rely too much on video tutorial (most of the time made by users themselves) rather than making a good written doc.
      It's been a shift in the development world and even tho it pre-existed in 3d softwares, it turned out video tutorials are not a good replacement for documentation...

    • @outlander234
      @outlander234 Год назад +2

      @@benjamin_fdw I never understood this. People are to blame, my brother is one of them. I tried to explain to him that everything he sees in youtube tutorials is a bad copy from a book.

  • @luckyowl859
    @luckyowl859 Год назад +38

    The amount of information you explain in your videos are amazing! Thank you for your effort!

  • @renatoiwashima3890
    @renatoiwashima3890 Год назад +17

    Very good in-depth analysis, I imagine this took a lot of time and effort to create. I really appreciate the video. To me one of the features that have been not in good state for a while are the world building tools. You get that by default in other game engines but in unity, doing level design is a bit painful. The PolyBrush, ProBuilder, and Terrain tools used to be in forever preview state and never really catching up very well with the latest versions of Unity. It’s been a while since I last checked but this was a deal breaker for me depending on the type of game you wanted to do.

  • @twinjuke
    @twinjuke Год назад +78

    About the Unity documentation: I just would not let a single Unity-piece to go through the code review until the related properties have Tooltips on them. This is be the bare minimum. Nowadays... not even docs, but the properties lack of useful information in several (if not the most) cases.
    Great video! Thanks for that. All here were just like my own thoughts.

    • @s1nistr433
      @s1nistr433 Год назад +2

      Unity is ran by corporate execs who don't care much about it and really only care about making money. It's getting worse and worse with every release.
      I recommend switching to Godot if you can. It's still behind on some things (not as easy, not as many tutorials, 3d isn't as good) but it's licensed under MIT and improving a lot with every release. Plus you don't have to pay a massive license fee and you fully own the games you make with it

  • @MatthewDuguay1134
    @MatthewDuguay1134 Год назад +2

    This is inspirational, thanks. I started in Unity but got overwhelmed and mostly ignored new fancy things. Thank you for doing the research. Now: Back to the game!

  • @retrodad9390
    @retrodad9390 Год назад +7

    Thanks in giving some pragmatic feedback and some in the context of an RTS game. It's another world with other challenges. Also, nice to see the u guys have success in a very competitive market ... Nice job!

  • @LeoPowa
    @LeoPowa Год назад +4

    Really good job explaining complicated things with some dummys,im kinda new in gamedev and it makes things easier to understand.Thanks!!

  • @FindTheFun
    @FindTheFun Год назад +41

    I was going to college around this time and actually toured the Unity offices in 2017 during GDC, the year you're saying all this started. They had just unveiled "CineMachine" I think and they had all these people talking about how Unity was going to break into the 3D animation scene and try to become known not just as a game engine, but an animation engine as well. I'm not an artist so idk if this ever really happened, but I think Unity was trying to become more versatile in ways that didn't just involve games. Out of everything I wish they would go back and update their NavMesh engine, because it's actually really cool and easy to use, once you spend years of your life finding niche plugins to make it actually usable. But I've made some AWESOME stuff with the NavMesh like a hex tile game that also has square tiles integrated into it. All their cool tools they make they kind of abandon and it's sad.

    • @iamnobody8
      @iamnobody8 Год назад +1

      Yeah, Navmeshes. Also the guy in the video is correct. Everything is is abandoned or in preview. Now I spend much less time in Unity than before

    • @markaldrich8753
      @markaldrich8753 Год назад +2

      They just updated the Navmeshes for 2022.2

    • @Knuckles2761
      @Knuckles2761 Год назад +5

      They've tried to break into 3D animation/movies with The Jungle Book and Lion King but lose competition to Unreal, which was used for Mandalorian and now is industrial standard.
      Unreal is just better for HD.

    • @Angry-Lynx
      @Angry-Lynx Год назад +1

      @@Knuckles2761 the incompetence of unity company is unbelievable

  • @AlCh3mi_MvP
    @AlCh3mi_MvP Год назад +6

    Great video and good overview of where we are at with Unity! I love when you do more Unity related videos, cant wait to see whats up next for the Imphenzia channel now that youre back in the game! (P.s. Even though youre now down under, i love that you still have your swedish awkwardness, i was literally laughing at the bulging pocket XD)

  • @solodevinc
    @solodevinc Год назад +1

    Your video quality has increase so much since I started watching, well done Imphenzia!

  • @conrad3k
    @conrad3k Год назад +12

    Thanks for putting my thoughts down in words.
    What should have mentioned IMO is the inevitable dependency chains you need to manage when you have different versions of Unity, packages, plugins, tools, platforms and operating systems. Especially on mobile it is a real problem, and more fragmented Unity has become, the more difficult it is to manage.
    It's not nice when in order to update a plugin you end up updating Unity version, xcode, and your operating system, at the same time breaking two more plugins or packages 😭

  • @HarKanJel
    @HarKanJel Год назад +1

    Thanks for your videos. I started thinking on make a game, with Unity/Unreal ... then realized I needed some meshes... started Blender with your "10 minutes" series and now I want to mix all this in one useful game/program... I don't know exactly what to do ... I will see how you do and try to get inspired. Good luck in your new home.

    • @waterb-g9114
      @waterb-g9114 Год назад +1

      UPBGE also exists as a cool tool if you're used to Blender already. Engine built directly in Blender using Eevee for the rendering.

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

    Awesome overview for the current state of Unity. I truly appreciate it. Our project has been on hold for quite some time now and we are planning on developing it again soon. Thank you for this! Much appreciated!

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

    The video is very helpful, thank you! One thing I wanted to note that I had been really reluctant to click the video because the preview image looks like a clickbait

  • @Marandal
    @Marandal Год назад +3

    Thank you for the Deep-dive!
    I was seriously thinking of Multiplayer.
    But i think i'll wait since this is my first game.

  • @jjxtra
    @jjxtra Год назад +16

    I've used Unity since 2012 and everything is much more difficult now and the engine has tried to do everything for everyone. The render pipelines specifically have been a gigantic headache, with URP especially breaking massively with each major version update. As an asset developer, ouch...

  • @rambii.
    @rambii. Год назад +6

    I used Unity on and off from the time Unity 5.6 was around to Unity 2019. I didn’t know anything about coding or how the engine works really at the time. I was mostly just playing around with the interface and placing things in the world at the time. Picking a renderer pipeline wasn’t difficult or confusing because by comparing them I just went with URP because of better performance than Built In and I want to make games for mobile and PC, and features such as the VFX graph and the localization tool to make it easier to add languages to your game. For networking, I went with FishNet. I used to use Mirror but after switching over the FishNet I never looked back because a lot more performance gains and they simply a few things that you had to do by hand in Mirror. So far I’ve never had any issues with Unity even though I am making an Open World Anime RPG game. It has all the tools to get the job done

  • @imaginaryash1807
    @imaginaryash1807 Год назад +142

    Godot 4 still beta but support importing blender files like butter and super lightweight.

    • @comradekenobi8146
      @comradekenobi8146 Год назад +14

      Also has 4x lower 3D performance.

    • @imaginaryash1807
      @imaginaryash1807 Год назад +27

      @@comradekenobi8146 in that case if you want AAA graphics unreal 5 is way better than unity. Godot will get there in 1-2 years and is much simpler for indie dev. Unity is not good option anymore imo i used to love it as well im not godot fanboy. And for 2D godot really beats anything atm. Unity focusing alot on being other things than game engine and wants to make everyone happy and fails.

    • @dr_mafarioyt4313
      @dr_mafarioyt4313 Год назад +24

      @@imaginaryash1807
      My first pick about a year ago was Unity, but it was a bit more complicated than I wouldve liked and it wasnt what I hoped for. I didnt have a good pc for Unreal or Roblox Studio, so I went with Godot.
      I never regretted my decision.

    • @imaginaryash1807
      @imaginaryash1807 Год назад +8

      @@dr_mafarioyt4313 i dont know what it is about godot... But it is fun when i work with it. Unreal and unity dont have the joy i exprince when i use godot. It feels like im playing minecraft more than doing game develope 😁

    • @comradekenobi8146
      @comradekenobi8146 Год назад +12

      @@imaginaryash1807 I think there's still a niche or two where Unity is better. The asset store is actually super versatile as well; I could spend a year developing a 3D map rendering tool for the grand strategy game I'm working on, or I could spend $100 to buy the WorldMapStrategyKit asset and spend that year developing and debugging my core mechanics. The same logic exists with other aspects; I could spend $50 to buy an XML UI framework to allow my UI to be moddable, or I could spend 1 month developing and debugging my own. I could spend 2 months developing a graphing framework to show in-game data to my players in an intuitive way, or I could just buy a pre-existing graphing framework.
      Until or unless Godot has many more extensions than it currently does, it remains an inferior choice for larger/more complicated games that don't quite reach into the Triple A field, but where development would still benefit from offloading some of the more technical aspects to either the engine or an extension made by a dev more experienced in those aspects.

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

    Your over-one-hour Blender video and your "Can I" platformer were very impressive.
    Thank you for scaling and extruding with us and showing us how to be very productive in only 10 minutes.

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

    Great video, great topic, great analysis, great animation. Glad to see you back online.

  • @martinleidel
    @martinleidel Год назад +2

    Great video! I'm kind of in the same boat, currently still using Unity 2018 but it might be time to check out all the new stuff. I wouldn't necessarily recommend HDRP actually, as URP is for most cases the better choice - even for PC only games. The effort for HDRP compared to URP is quite large and us "normal" indie devs probably don't have the resources to even create the necessary stuff to really make use of HDRP.

  • @remus-alexandrusimion3439
    @remus-alexandrusimion3439 Год назад

    Heeeey, you're back! (I just checked and noticed i missed 2 videos, but anyway). Welcome back!

  • @CodeMonkeyUnity
    @CodeMonkeyUnity Год назад +5

    Nice overview of the past few years! Great video!

  • @squiddler7731
    @squiddler7731 Год назад +3

    The bit about documentation reminded me of when I found out that one of the pages I was using related to shaders just straight up had wrong information. Like I needed to use a built in unity texture for a shader I was writing, but none of the default textures listed on the page would've worked for what I wanted. I then manually tested it myself and found that the textures in-engine were different than what the documentation said they would be (and cause of that there was one that suited my needs). Can't imagine that happens often, but I still find it funny that it did

  • @Eriadel
    @Eriadel Год назад +1

    Absolutely great walktrough into the new features of the Unity. Well done.

  • @Shinika01
    @Shinika01 Год назад +1

    What an EXCELLENT review ! THanks
    From minute 13 to minute 16, you simplify what can / can"t be done ...
    I think that it would be very, very! intersting to ask why we can or can't do something with a render or another? :) Be the voice of community, please

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

    Hi! I really loved this video, and I hope you make more talking about Unity. (I didn’t see a lot else on your channel.) Just some feedback for you, great video!

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

    Mycket bra.. håller verkligen med om allting du tog upp i den här videon.

  • @wells6351
    @wells6351 Год назад +1

    loved the little animations in this! enjoyed this video 👍

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

    thanks so much for helping everyone out. Your work is greatly appreciated on all fronts

  • @pedrobelluzzo
    @pedrobelluzzo Год назад +65

    I feel that Unity is more of a modular engine nowadays, which of course requires some understanding in order to get what you want out of it, but I agree with many problems that you've pointed out. Still, working for a small company as I do, I've also learned that we can just ignore most of this stuff and do games the way we were doing before. I keep trying the new stuff on personal projects and bring to the company only what I think I can benefit from. Thank you for the video!

    • @Imphenzia
      @Imphenzia  Год назад +14

      Yes, I agree with the modularity and also what you say. Try to identify the most suitable modules for your needs and it is an extremely good engine still.

    • @bobbygriz1920
      @bobbygriz1920 Год назад +6

      "I've also learned that we can just ignore most of this stuff and do games the way we were doing before."
      As a developer who sucks at art, this for me is my biggest con. I think it's a huge problem that Unity has yet to offer something new that is "too big and important to ignore". I want a shake up. I like familiarity, but not when it causes stagnation.
      Nothing over the last 5 years has really changed the potential of what I can make, where as I look at Unreal Engine 5.1 and envy the kinds of new things it let's non-artists like myself do.
      I don't want to leave C# so I'll never switch. But I'll also NEVER switch to ECS/DOTS and Unity need to understand that most developers think similarly. I shouldn't need to completely re-learn how I think about game design in order to utilize some simple new tech.
      I work on physics-based games, and ALL new physics technology only supports DOTS. Fuck you Unity.
      Unity is in a very rough place right now in terms of the future outlook.

    • @chancencounter5014
      @chancencounter5014 Год назад +9

      @@bobbygriz1920 What you’re refusing to understand is that the change to *an* ECS, which is the architecture underneath everything, is all part of *how* the competition can offer what it offers.
      Hopefully, you’ll get more accessible interfaces to that stuff when it’s out of dev hell, but there’s no clear path to instantiating a shitload of GameObjects or doing any of the high-speed, high-fidelity physics you crave with the “old” (existing) tech stack.
      I will grant you, however, that this is with respect to the ECS a totally legitimate gripe, it’s just not something anyone can really fix. This is a paradigm shift and it’s coming like a train.
      Some of this other stuff, however, really does boil down to folks needing to engage more with what you’re doing.
      The package manager is not some mystical alternative way to install free components. It’s a really basic thing that programmers need and have been begging for this entire time. The “networking issues” aren’t networking issues if the person in charge is competent enough to use a third party networking library, but *gasp* it may but also might not be on the asset store, because it’s code, and code comes in packages from just about anywhere else. I could go on.
      You guys are complaining, there’s really no way to sugarcoat this, you’re complaining that you have reached the limits of what you can do without learning what you’re doing. You don’t need a four year degree in software design, nor to become a programmer, but you need to engage a little bit with what these things *are* or you’ll be mystified for the rest of your careers.

    • @bobbygriz1920
      @bobbygriz1920 Год назад +3

      @@chancencounter5014 I have 15 years of software experience. My complaints are not from inexperience lol.

    • @chancencounter5014
      @chancencounter5014 Год назад +3

      @@bobbygriz1920 They’re from inexperience with what you’re doing, though, or “fuck you, Unity, I need more accessible ultraphysics” wouldn’t sound rational. I know it sounds harsh, but it is what it is. You can’t get what you want by treating the engine like a Lego set anymore.

  • @metropolis10
    @metropolis10 Год назад +1

    What a breath of fresh air. Thank you for this, I couldn't believe how grounded your analysis was. Love it!

  • @sparkplug-studios
    @sparkplug-studios Год назад +5

    This is the best breakdown of the current state of play that I've seen, great vid thanks!

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

    Great video - Just what I needed to see.. I’m fairly new to unity but all your points address questions I had + confirms I’ll likely go back to UE and save the headaches :)

  • @GeniusPancake
    @GeniusPancake Год назад +4

    I love building some editor tools for my games. In each game I make (none for market atm.) I build a custom editor tool and which tool I make depends on what that game will heavily focus on. For example, currently I am making some dungeon exploration type game with lots and lots and lots of weapons (like Enter the Gungeon) and I made a custom weapon editor tool that loads all my weapon scriptable objects, allows me to edit them, closes options depending on my toggles, etc. It is a life safer and it only took 1.5 weeks to create. No longer do I need to go script by script, I just open the editor tool and I have names and images and can adjust everything in there.
    Before I started doing it with UI Toolkit...it was such a pain to create the editor tool. Now, it's so much fun with... Takes a lot of time to make one but if it is a serious system for the game it is definitely worth it.

    • @BrandanLee
      @BrandanLee Год назад +1

      Yeah, using UI Toolkit for our editor UI has been a life saver too. We have a custom animation framework and sprite editor, and a terrain editor.
      In game... I wasted a month of my life and two months of my teams trying to force a circle into a square using Ui Toolkit which is not, at all, ready for Runtime outside of the most simple UI possible.

  • @Andrew90046zero
    @Andrew90046zero Год назад +4

    9:44 So CPU intrinsics is a very interesting and cool thing I learned about a few years back.
    A lot of times when people talk about "CPU intrinsics", they are talking about another thing called "SIMD instructions", but really it's more than that.
    But the gist is that, #1, your computer has MANY different ways it can "run faster" other than just clock speed and core count.
    Normally, CPU's will perform operations between single pairs of data, one at a time. So like A+B, then C+D, but you could get performance gains by doing both A+B AND C+D at the same time (a form of parallelism). And that is what SIMD is about (Single instruction, multiple data). But not all CPU's have the same sets of instructions to be able to do that. So the idea is to compile code into a compatible form, but doesn't take advantage of the "faster instructions", but then when the game runs on a persons machine, it says "hay, we can use these faster instructions", and then uses them.
    So that is **basically** what intrinsics is about. It's a bit oversimplified though. But the idea is that you want to have a system that will allow a game to use the "intrinsic operations" of the computer it is running on, to maximize performance even more.
    As a final remark to how fascinating I find this... Instrinsics/SIMD find most of it's usage whem it comes to Vector math (A,B)+(C,D) because if what I said before.
    You may have a CPU with 8 cores, which means 8 levels of parallelism, but each core will itself have access to SIMD instructions, which it may not always use most of the time. But imagine multithreading code that basicaly does a bunch of vector math. That means you could get effectively 24 levels of parallelism just for that code (8 cores * 3 dimensional vectors). There are literally parts of our PC so few people know about that actually make them faster, our CPU's are being underutilized in so many ways. And it's important as programmers to make sure we leverage as much of the CPU as we can. Because those resources are available.

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

      Thank you for explaining! 🤙

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

    god the network code.. forgot about that, put it in a dark place in my mind and only now resurfaces haha I do recall revisiting unity after a short break to find ECS and 3 render pipelines to wrap my head around. Definately shook me for a bit.
    Nice video i enjoyed it

  • @digiryde
    @digiryde Год назад +1

    Great review and great advice. You earned a subscriber.

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

    Very useful information, thank you!! 🙌

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

    This was a fantastic overview of the quickly evolving state of Unity. Just bravo! 👏

  • @lightshadow1271
    @lightshadow1271 Год назад +1

    i will come back to this video and this channel . this video helped me a lot

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

    Fascinating watch, thank you! :)

  • @TheFujiiii
    @TheFujiiii Год назад +1

    This video is genius. You break down very complex wording and procedures into very understandable topics, so I can make my own informed decision about changing engines or not.
    These complex jargon made me feel so apart from Unity, and now I can understand what and why it is like that. Thank you very much!

  • @rezNezami
    @rezNezami Год назад +1

    Hi. Great summary and update. Thank you. I am wandering why you did not put Photon in the list of networking facilities for Unity. Apparently it is pretty popular among newbies.

  • @euansmith3699
    @euansmith3699 Год назад +3

    I don't make games, but I love listening to Imphenzia.

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

    This was a fantastic overview of the quickly evolving state of Unity. Nice job!

  • @jasonwilliams8730
    @jasonwilliams8730 Год назад +1

    Wow thanks so much for going over all this for us. Still enjoying Line War almost daily. Are we getting carriers? :)

  • @FRACTUREDVISIONmusic
    @FRACTUREDVISIONmusic Год назад +4

    Unity started as a proprietary engine created by the two founders who created it for the game they were making. They decided they didn't know how to make games, but had this engine they built sitting around. Well, why not sell the engine?
    So, they released it to the Public, and the rest is history. Well, it's growing pains are well known and... heh, Epic. This is what happens when you abandon your dream, and go with plan B, which was never a plan, until plan A was unhappily abandoned.
    I call Unity the "Reluctant Game Engine", because, it was never meant to service large segments of the industry - it was built for one specific very small team. Sure, many talented software techs have expanded, adapted and manifested the engine along the way into the commercial level engine it has become.
    Still, Unity always, without fail, ends up where it's lost again and trying to find itself. Hence, we get these bizarre directions taken with the engine. Everything from ever changing convoluted licensing machinations, to the items mentioned in this video. Unity always has been, and renders itself as that it always will be, a concoction of forced ambition, strained cohesion and spastic pedestrian level vision for itself as an industry tool.
    Just a thought, have a great day. ;)

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

      Woah, you've set the words I had a long time in my head

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

    Very useful info! Thank you!

  • @GameDevNerd
    @GameDevNerd Год назад +5

    The problem is, being the "beginner engine" can't bring in any money to pay the engineers salaries to even keep the engine going. Beginners generally spend a grand total of $0.00 on Unity, so it's not something that would survive. You can't run a company on debt forever, only the government gets away with that because they control our currency and just make us all a bit poorer each year to keep the cycle going. Companies actually have to pay, though, or they sink. And Unity did what a software company needs to do to try to grow and innovate. That doesn't mean they did everything perfect, there's lots I can criticize, but trying to just stay as a cute little "beginner engine" was a path toward death and obscurity.
    That being said, nothing is really all that complicated except the new ECS/DOTS stuff, it's more advanced concepts (still, not super hard, just constantly changing and not consistent) the rest of it is just a lot of things that seem bigger and more confusing that it actually is. If you have no idea what you're doing, just open Unity and use the built-in pipeline. People who know what they're doing use URP and HDRP and the specialized packages.
    And I hate all the Unity UI stuff, performance is sketchy at best. I went and got NoesisGUI which is a professional XAML-based UI system that works for all game engines (or even without an engine). Noesis is not simple, but it can draw huge UIs in all kinds of powerful ways and barely even uses any GPU or CPU resources to any noticeable degree -- it's so efficient it's like it's barely there, and you can have proper data binding and fully control everything.

  • @38abrahams
    @38abrahams Год назад

    For the first couple minutes I thought this was a 30 minute rant on Unity but you actually did a deep dive into everything that was criticized and I greatly enjoyed it. Thanks for the content.

  • @aes0p895
    @aes0p895 Год назад +7

    Glad you mentioned Unity documentation, which is completely unusable at this point. Literally 90% of google results on the unity docs page are old pages, which would be fine except THEY DON'T GIVE YOU A LINK TO THE NEW PAGE despite telling you it's old and shouldn't be used. What the heck are they thinking?

  • @caiocapasso
    @caiocapasso Год назад +2

    I'm one minute into this video, and what you're describing is exactly where I'm at: I've worked with unity (simple, but commercial products) in 2018-2019, but then "real work" drove me away from game dev. For the last few days I'm trying to wrap my head around Unity's current status and if I should bother trying to refresh my knowledge or just go ahead and download Unreal instead. Thanks for the video!

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

    Great video, very informative.
    It started a bit dramatized/cynical but the rest of the video was amazing and an objective overview.

  • @Brawltendo
    @Brawltendo Год назад +63

    Unity desperately needs to have their own large scale production in the same way most other studios use their own games as testbeds for their engines. Unity claims that certain features are “production-ready” but how would they know when they’re not using it in production? They’ll put out a tech demo every now and then but that’s nothing like building a full on game, and doesn’t stress test anything other than the renderer. This is all easier said than done, of course, but I do think it would solve a lot of the current issues with Unity.

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

      So true.

    • @stylie473joker5
      @stylie473joker5 Год назад +4

      That's what Gigaya was supposed to be but sadly it got cancelled

    • @Brawltendo
      @Brawltendo Год назад +2

      @@stylie473joker5 Honestly I completely forgot about that. The project was gone as quick as it arrived. 3 or 4 months from announcement to cancellation has to be some sort of record lol.

    • @someghosts
      @someghosts Год назад +3

      It’s a software product. They need more product and ux people, or they need to listen to the ones they already have. You don’t make these kinds of mistakes if you do user testing and proper product work. Unreal is great but it’s also a nightmare to learn or to do things that aren’t similar to what epic is working on from what I’ve read/ heard

    • @Brawltendo
      @Brawltendo Год назад +2

      @@someghosts Unreal can be complex, but I just find the whole workflow to be much more intuitive. Unity’s single prefab workflow is a major limitation with how you interact with the program in larger projects. They both have their own strengths, but for large productions there’s no doubt that UE is much more conducive to that. Its biggest downfall is how they set up the game tick. You either have to lock your framerate, use a variable framerate, or use substepping, which are all not great solutions. Without editing the engine source or using third party solutions like Havok, you have no option for a fixed tick + variable framerate. At least as of UE5.1, it seems like they’re finally addressing this officially though.

  • @whynotanyting
    @whynotanyting Год назад +68

    Thank you for going in depth in this. I've recently switched to Godot simply because it started to feel like Unity had a lot of bloat and little support. I don't think I'm fully convinced to switch back to Unity yet (mainly because I'm still a beginner), but it does feel like Unity is back on track to delivering what developers actually need.

    • @DooMWhite
      @DooMWhite Год назад +12

      The demos from Unity take like minutes to load... Sooo much bloat dude, in Godot they literally open in 3 seconds

    • @fukukyun78
      @fukukyun78 Год назад +6

      @@DooMWhite Minutes? lol

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

      @@DooMWhite IKR

    • @ivansotof
      @ivansotof Год назад +8

      Same here. It feels like 10 or 20% of my time was troubleshooting packages and figuring out what changed, rather than building my game. After switching to godot, I'm 100% of my time
      building it.

    • @tiksman17
      @tiksman17 Год назад +2

      But you can't publish to consoles with Godot?

  • @ArnaudJopart
    @ArnaudJopart Год назад +9

    Great Video! I agree, Unity can become confusing at time and have those features stuck in preview is frustrating, BUT... is it not great to have so many options available to create games as we please? The new UI Toolkit system is a good example. Nothing forces us to switch to this one but the way it has been design can appeal to some creator with Webdev background. I personally enjoy using it. DOTS is clearly not for everyone, but it's refreshing to learn a new way to create games. Your video clarifies the situation and help newcomers to navigate and choose the best tools for the right situation. Thanks a lot for that!

    • @GameGourmand
      @GameGourmand Год назад +2

      But it makes everything harder too. Because they stop developing something and start a new feature and everything makes you feel this engine is not completed.

    • @logan4179
      @logan4179 Год назад +2

      You may not realize it, but it comes at a cost to the old system. I'm pretty sure they've said that they're not adding anything to the old UI system, just fixing bugs at this point now that they have their new system.

  • @publicmmi
    @publicmmi Год назад +2

    Nice content, nice drawings, nice video! Thx :)

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

    PBS Terrain and Decals are possible in Built-in. Either by writing your own shader, or getting a solution from the Asset Store.

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

    This was a really deep analysis. Thanks for this awesome video.

  • @tunaroll3957
    @tunaroll3957 Год назад +41

    Unity recently announced a combined URP&HDRP workflow in the same project (it’ll automatically adjust based on target environment) - this will be a game changer! (If they can actually make it work seamlessly :)

    • @thomasfalcon6350
      @thomasfalcon6350 Год назад +14

      Should've been like this from he start tbh, changing te pipelines should never been such an ordeal as it is now. And they should allow HDRP to be built to mobile chips, they are getting more powerful and eventually they will be able to run HDRP.

    • @t0benai
      @t0benai Год назад +1

      I can't seem to find where they announced this, do you have a link to it?

    • @tunaroll3957
      @tunaroll3957 Год назад +1

      @@t0benai Unite 2022 Keynote - "Create Immersive Graphics" -> ruclips.net/video/wdmiPPjcBSA/видео.html

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

      I seriously recommend everyone here to watch that last keynote - it looks very promising in the sense that they've regained their focus for us game/XR creators

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

      That should've been the default from the beginning. Separating URP and HDRP was a massive mistake.

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

    Such a good video! Thanks for making this

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

    1) We need a video on how to make this video (draw style --> which tools do you use)
    2) Make an ingame lobby/chat for linewar

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

    Great summary, much appreciated!

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

    great work, thank you for your explanation

  • @rmt3589
    @rmt3589 Год назад +1

    16:05 How do you do that? With the strings and stuff? I've seen that a few times, but can never find it.

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

    Great video, thank you! 🙂

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

    Hehehe “this sounds like scope creep” 😅
    I love all those tiny animations you made 👍

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

    Great video. Thanks Stefan!

  • @fr3ddyfr3sh
    @fr3ddyfr3sh Год назад +2

    I have the exact same experience with xamarin/Maui.
    Undocumented features, you need to reverse engineer and read several GitHub issues plus code and try-n-error to understand how they work.
    It’s a big pita.
    I’m amazed how calm you are.
    These kind of bad docs infuriate me 🙈

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

    I am really taking a hit with the lack of documentation for the new networking, well said

  • @bhaveshtiwari5783
    @bhaveshtiwari5783 Год назад +1

    Hey @Imphenzia I'm really interested in your own infrastructure how you guys setting up virtual machines and stuff can you please make a dedicated video on that??

  • @christophergamedev
    @christophergamedev Год назад +3

    What I like about Unity is how easy it is to extend editor functionality.
    But when shadowmaps have gaps and holes, when spotlights have wrong distance attenuation calculation, then you start to wonder why such basic rendering features aren't done correctly and how big part of the engine will you have to replace with custom code in your product.
    It seems to me that since they decided to go public, they're more in a pursuit of "flashy" and "showcasable" and less so on foundations.

    • @nowayjosedaniel
      @nowayjosedaniel Год назад +2

      Unity has always been this way. The new CEO from EA Johnny Ravioli actually helped to stabilize the engine bc the previous CEO was far worse.

  • @exhaston8780
    @exhaston8780 Год назад +7

    I am generally really happy with what unity is bringing to the table, however with all of these new features it can easily "clutter". For me it will feel like unity will be more aligned with my gripes I have with Unreal, so many features that are just in the way (that you just have to override in some situations) and poorly documented stuff.

  • @vast634
    @vast634 Год назад +2

    Multiplayer: if possible try to make a game where servers can be hosted by the players themselves, and you only need to provide an active server-list. And that the game can have a singleplayer mode (against bots, or the world mechanics, or a proper singleplayer campaign)

  • @IstvanYoutube
    @IstvanYoutube Год назад +2

    Unity definitely drastically changed back in 2017. Heck it's evident even by the naming conventions. Before that it was using a version number (like Unity 4, Unity 5.5, etc) then suddenly it switched to using the release year in the name (Unity 2017, Unity 2018, etc). I used Unity 5 for several years during this phasing because I had ongoing projects (it's not usually a good idea to upgrade to a whole new version in the middle of production unless you REALLY have to). I went from Unity 5 straight to Unity 2020 and the difference was radical. It's still a good software though (even better in some regards) but one huge setback I've noticed is that it's alot heavier now even in an empty project, than what it used to be. It's full of bloat you cannot get rid of and you'll find yourself stuck with loading bars quite often. Back in the day the software felt really lightweight, now it feels quite slow and somehow sluggish.

    • @Angry-Lynx
      @Angry-Lynx Год назад +1

      Good point i even forgot about it.
      But now i recalled how unity started up pretty much immediately back in the day, now its few minutes wait

  • @jean-noeltherency9668
    @jean-noeltherency9668 Год назад +1

    hello and happy new year

  • @Brioshie
    @Brioshie Год назад +3

    I can't decide if it's more complicated for someone starting now or for us working on Unity the last 10 years constantly changing methods.

    • @Angry-Lynx
      @Angry-Lynx Год назад +1

      I think its definitely more difficult for noobs.
      We pros can easily adapt, programmers use and learn new apis whole life anyways

  • @path1024
    @path1024 Год назад +1

    I've never found anything in the Unity Asset Store that wasn't either HDRP compatible or able to be converted to HDRP. If you don't know how to convert materials then you have more to learn before you worry about which pipeline you use. Pick the one you want to use and learn what you need to if you have to convert something. You can even buy from the Unreal store and convert it. Better Lit Shader by Jason Booth has a handy texture packer. Invert roughness to smoothness, pack alpha or height maps into albedo alpha, etc.

    • @Angry-Lynx
      @Angry-Lynx Год назад +1

      Dont buy anything from that arrogant pos

  • @Foxyzier
    @Foxyzier Год назад +2

    Would love to see your explanations on multiplayer

  • @KDSBestGameDev
    @KDSBestGameDev Год назад +1

    Everytime I check out DOTS and ECS, I find oh Animations aren't working in there. Done. Unusable and this is annoying. We use in my current game the Job System for Unit Flocking. A great performance improvement, but that's it.
    UI Toolkit is just not ready yet, which is sad. I really like the approach. We do it like recommended. Editor Extensions we do UI Toolkit and Unity UI for Runtime. I hope that they will soon make the UI Toolkit for runtime good.
    Great video, thanks.

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

      Thanks, glad you agree coming from such an experienced background. The limitations have always stopped me from going past anything than primitive tests in ECS.

  • @RiversJ
    @RiversJ Год назад +1

    Wholly agree with the Netcode side docs, do note that Netcode also utilizes Unity Transport and you can gleam quite a bit from how that does things to how Transport APIs work, though this is far from optimal

  • @ruslan_yefimov
    @ruslan_yefimov Год назад +3

    As for UI systems, there's also fancy, new, but not so popular Nova UI - costs a hundred bucks, but I've found it much better than Unity UI, since it's based on it.
    There's also a free version, which won't work in build, but you can experiment as much as you want!

    • @Angry-Lynx
      @Angry-Lynx Год назад +1

      Everything is better when done by someone else than unity

  • @JohnnyCashOriginal
    @JohnnyCashOriginal Год назад +70

    I've seen so many people move from Unity to Godot. Godot 4 is very promising and performance is very impressive.

    • @uidsea
      @uidsea Год назад +5

      Yeah I just moved to Godot 4. So far it's been a fun experience and I'm enjoying it.

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

      @Lord Bailey Godot4 = fucking awesome, Unreal = really fucking awesome, Unity = pile of shit... only people who cant code love unity

    • @JohnnyCashOriginal
      @JohnnyCashOriginal Год назад +11

      @@uidsea yeah its a really well thought out design. Ive been using Unity but I think they've screwed themselves over the last few years. Thats what happens when corporate greed comes before customer need.

    • @nomadshiba
      @nomadshiba Год назад +7

      ​@@JohnnyCashOriginal it might be different for you
      but im really happy with Unity and really happy with the things they are building and i have been waiting for this for a long time
      i feel really disconnected when people say that they dont use Unity anymore or moved to godot and "Unity screwed" etc.
      like i would move to something else by now if they didnt change
      Unity literally made c# a better different language with DOTS that i cant think of any other better alternative that has same performance while having a good syntax and ease of use, and i like how it forces you to write good code
      i would probably use Unity with DOTS for stuff that are not even a game, its that good

    • @JohnnyCashOriginal
      @JohnnyCashOriginal Год назад +2

      @@nomadshiba if it works for you then keep using it. I am often on receiving end of insults just because I dont use unity anymore. My work flow is so much faster with godot and everything just works and is logical. I know the attraction that Unity has and i bought into it a long time ago but since I prefer more control and better performance Godot or Unreal just makes sense.

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

    how to download logic brick editor in blender
    in my bar logic brick is not appearing
    plz answer

  • @BartMamzer
    @BartMamzer Год назад +1

    That rts looks great!

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

    Also finishing my 4 player Mahjong game, a Unity conversion of my objective c game. Unify was great for this I optimized it down to 15k odd lines compared to 30k for objective C. But no network code yet.

  • @VenkatVenkat-uj7hw
    @VenkatVenkat-uj7hw Год назад

    Hi! thanks for your video. What about Animation and Timeline sequencing?

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

    17:07 off topic, but can anyone explain how he makes that ui window auto size based ont he text?
    I know you probably need the content size fitter and the layout element components, but I never figured out how to set this all up. And how this would even work if instead of text, you have a bunch of rect's and images and you want to make sure the parent rect encloses all the child rects.

  • @yiboliang8338
    @yiboliang8338 Год назад +6

    Currently learning ECS+DOTS. It is really a pain trying to figure out what every API does. Most of the time what you only have is the painful ECS Sample projects on github with minimum comments and explanation.

    • @Angry-Lynx
      @Angry-Lynx Год назад +1

      Save yourself pain and don't bother with any shit done by unity. Its pure incompetence.
      How come you go from any kind of unity api to any other api jts such a huge relief

  • @chriscosby6612
    @chriscosby6612 Год назад +2

    This make me want to use unreal blueprints even more. But love your videos

  • @brianviktor8212
    @brianviktor8212 Год назад +1

    You said no multiplayer for the first game... well, my job is related to data transfer and communication via for example TCP connections. I already created a library with which you can transfer messages, files and whatever I want to implement. Now, ~1 years ago I created a framework for space traveling, meaning you can fly in free flight through the universe where stars (including giant stars) are visible to you. It uses procedural generation to create solar systems with planets and moons (I use my own algorithms for everything). Just some days ago I happened to create a hashing algorithm that is roughly equal in quality to xxHash, but ~50 times as performant (for taking 3 Int64 as coordinates and converting it to another Int64 used as a seed).
    The biggest challenge was to make it all performant so that it works and as many stars as possible could be loaded. Oh and managing the issue with crazy orders of magnitudes of coordinates (using 128 bits in total for coordinates) and showing it in Unity which uses 32 bit floats. The generation and loading of objects occurs in their own threads, and it hands the main thread the objects to load and unload (also not all at once, but over time, with a little formula which loads more if the queue is bigger).
    It all works. I also created nebulae... which funnily enough also needed sophisticated algorithms so that I could create spheres which touched each other, up to 2 others, so that I could create coherent sphere structures in various randomized shapes (cloudy, extensive, etc) which served to grant a background feeling. The spheres (points with radius) are then manifested as particles, which also shift to alpha 0 as you approach them.
    I did not implement realism regarding orbits (they'd take months or years anyway, and when you are close to astronomical objects your relative speed would only be relative to the object, and who cares anyway) and vision based on speed of light (too complex, probably not a good feature anyway).
    So I want to create this as a MMO. I have all the vision in my mind how to create a good gameplay that mostly revolves around combat and exploration, also having accrued enough views to know about a whole lot of potential issues (like being forced into PvP, having too low risks, having too high risks). So I need multiplayer. I think I could implement my own networking. I could even optimize it and minimize data traffic.
    This is not planned to be just a first game. This is meant to be something with a realistic chance of success and a long-term project, so I take the time to do it right, even if only aside to my 40h/week job. It's quite funny, I don't do things like this in my actual work.

    • @Game-gc5el
      @Game-gc5el Год назад

      Can I follow your progress on Discord?

  • @Laumania
    @Laumania Год назад +1

    Great video Stefan!
    As I see it, on one hand Unity is getting super complicated, has more bugs, is confusing to get started with etc.
    On the other hand, sometimes you need to break stuff to make it better, long term, and I really HOPE this is what they are doing and why they are doing it and not because things are falling apart :)
    I use Unity everyday and would pick it for my next game too, no doubt. All engines have pros and cons, pick the one that have cons you can live with :)
    I like your new hand drawn graphics style stuff to explain things - guess it takes ton of time to make - but it really adds a lot to the video I think.
    Keep it up! :)

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

    So glad I am not the only one struggling with the documentation, especially with a lot of documentation directly related to many of their packages.. The fact that the package documentation is not in the same place as the rest of their api documentation is annoy in itself, but it's all so vague. Great example: Lobby / Replay - How to allow users to set their own region. The "codes" are not uniform, and even then most of the time the engine says the region codes don't exist. Yet there is not even documentation on what region codes to use since there are many different formats. I had to use the console to output what Unity was assigning the existing code and research the code types from there.. That's just one of a LOT of very poorly documented issues i've been dealing with lately.. They need to get it together

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

    What a BRILLIANT video!

  • @meatballsaga
    @meatballsaga Год назад +1

    Strongly agree with almost every single point you said. Unity has become so over-complicated and unstable compared with earlier versions

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

    UI Toolkit has some pretty jacked up documentation and the original premise of it replacing IMGUI seems unlikely. The binding system was made to separate logic from presentation code, but depending on what you need to implement, it would require boilerplate code. Simple data types can be bound relatively easily through the UI Builder, but I've so many problems with PropertyDrawers.

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

    Thanks!

  • @psyboyo
    @psyboyo Год назад +3

    I said stop when Unity went Public in 2020. During 2021, I went searching for alternatives, and test them out. On 2022, an open source engine that I had left for last, Godot? What a silly name, I thought. I heard it before, knew nothing about it, and never had any interessss... OH MY GOD IT'S AMAZING! -- Unity felt bloated all the time, the long loading of projects, hell, setting a new project, took ages to start, thousands of files being saved into a folder... WHY? -- And then there's this huge Godot community, free open source, soon to be a foundation like Blender, completely committed to perfection, offering just one executable file of 72 megabytes, zero installation, and... it's unbelievable! Easy to learn, good workflow, scripting is so easy. Takes an instant to setup a project, or to load huge projects, to test, to export, everything is about the speed of results. Looking back to Unity, what a bloated horse sh*t! I seriously advise anyone using Unity to pause and check Godot on RUclips introductions and tutorials, specially from GDQuest and HeartBeast channels. You have nothing to loose just by checking it out.