Why I switched from Unreal to Unity & wont go back (even for an mmorpg)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey what's up I'm Jason and I've been developing games for about 15 to 20 years now and over that time I've worked with quite a few engines but today I want to explain to you why I switched away from unreal to unity and why I've never really considered going back or even switching to you any other engine so at the time when I made my jump to unity I'd been working in unreal in vanguard was up there and I'd worked a lot in custom engines that we used at Sony for our our own games these were ones that were built in-house on top of other libraries but not an unreal or unity type thing and a friend of mine called up and said hey I really want to start up this mobile game company it was right around the time when the iPhone was just taking off just getting big and everybody was trying to get into mobile and he called me and said hey let's make the mobile games can you leave can you come join me and do this and we're gonna kick off this thing it's gonna be great and I thought well that seems pretty interesting seems like a lot of fun and seems like a big change and an opportunity to learn new things and just kind of become a better developer and move up in advance myself right and also just get to work with friends and build fun projects which kind of what I was doing at Sony but this was seemed like even more fun so I decided why not let's do it I took the job and the first thing that we had to do was decide on the engine now at the time I was really comfortable with unreal so I was thinking hey maybe we'd use unreal maybe we'll find something else but my buddy who was who's running this thing saw unity and said hey why don't we use this can you check this out see if it looks good see if it'll work for us because it already supports mobile deployment and at the time nothing else supported mobile deployment at least no no engines that I could think of supported it unreal didn't cry engine didn't um it was really the only option for us at least it I didn't realize it at the time that it was the only option but it was the only one that was available then of course by the time we actually shipped mobile deployments were available for pretty much everybody because we took way too long to ship but that's completely beyond the point the first factor that kind of pushed us there was the fact that unity just has quick adoption two things they got two mobile like a year before everybody else then they got to be are probably about a year before everybody else and they seemed to get into the new technology is much much faster there in a rapidly evolving all around the place where a lot of other engines focus really heavily on a specific thing unity seems to kind of branch out and hit everything so again we're looking at the engine options here and I'm thinking hey unity seems like it's gonna make sense because really it's the only one available and it's got the fastest adoption so we know that when new things come out it'll work with that but I looked deeper and I realized hey we actually code in a slightly different language - we'll be coding in c-sharp instead of C++ now this might disturb people who'd used a lot of unreal and we're really familiar with C++ and only use C++ but in my day job I kind of went back and forth when I was working at Sony I worked a lot in C++ on engine code but I'd also work a lot on tool code in c-sharp to kind of keep the things in line so that whenever we added something new to a game we could also see it in the tools and let designers manipulate and change that stuff a really important thing to do when not a lot of people really like doing it and I loved it so I would take on game stuff and tool stuff at the same time kind of bounce back and forth sometimes way heavier on the tools sometimes heavier on the games but I was very very comfortable with c-sharp and I liked the language I thought hey this is penny I don't know how it's gonna work for games cuz I'd always thought hey C sharp is too slow for games right you can't do that but figured why not maybe it's mobile games maybe it doesn't matter I didn't know at the time that I was crazy and that P sharp was gonna be completely fine for games I just kind of had it all stuck in my head from all my years as a C++ game programmer right so c-sharp this was really reason number two or the the second thing beyond the fast adoption just that the language is really really nice there are a lot of really cool features in there to make the code extremely clean readable and kind of easy to write and it's a lot harder to shoot yourself in the foot with C++ you can do pretty much anything you want and you have a ton of power but you also force note that with great power comes great responsibility it's very very easy to mess up make a mistake and blow things up the biggest problem is that hate dealing with was a memory leeks and memory getting overwritten occasionally somebody would put in a bug do something a little bit wrong not realizing what they were doing and memory is getting overwritten on the server and things are suddenly acting very very strange stuff crashes stuff blows up in all kinds of weird problems those things don't really happen with c-sharp and unity you have different issues to deal with like garbage collection you have to avoid that and it's kind of a special mindset you have to get into when you're doing game development in c-sharp but overall I find that working in c-sharp just makes it a lot easier to write good clean code that's not messy and not broken of course you can do that in C++ but I just find it easier to do in c-sharp now let's go on to the next thing it's also related to the way that we write code because we're writing code in c-sharp and it's getting piled down in this other layer we don't have long build times when I worked in unreal and I worked on EQ too even no matter we both both the games the built times were insane and I'd say it's pretty common for an unreal game or just a big C++ game where you have to recompile everything including the engine code at the same time it takes a long time I mean we would have half hour 2 hour long builds and these are with incredible running on a hundred plus processors all throughout the office if you wanted to do a build at home it'd be like four or five hours I actually set up an incredible cluster at home so I could build things and get my build times down to under an hour when I wanted to actually test out my changes with unity I think you've all seen it if you've used unity before you make your change it tap back into the editor and it's probably already done recompiling your change you hit play and it works you can even change code while you're playing if you want I don't usually do that but you can and it'll recompile an update and depending on your project even work so fast to build times and fast iteration is huge I mean on top of that I can write unit tests and unity much easier and I don't even have to build sometimes or at least I don't have to tap back in and build but that iteration speed is just immensely faster I don't know if I can and I went just emphasize this enough so much faster having to wait half an hour for a build to see if my two liner change was right or if it was wrong or if I messed something up extremely frustrating having it be instant and just hit and play was awesome but let's go on to the next thing and that is the just sheer amount of resources available so when I started with unity I have to admit there weren't a lot of resources out there there were a couple books I went and bought all of them they helped a little bit but they didn't really go in depth they kind of explained how components work how game objects worked how to place down and I figured out the basics from those but nowadays there are just a ton of resources there are books out there for just about anything you want to learn unity related there are YouTube channels like my own and lots of other ones out there that just are full of resources and tutorials and guides on how to build games in unity and there are blogs and web pages there's just a lot of information out there lots of courses available it's just amazing via sheer amount of information and resources available for unity developers now there probably are a good number of resources for other engines nowadays I don't really look but from what I've seen just in my brief searches it doesn't seem like it's anywhere near the level we're probably looking at 10 to 20 times more resources on unity than any other game engine out there and I think that that is also partially because it's free right unity was the only engine that was free to start with and it's really far as I know the only one that's still free completely if you're not making very much money right if you're under a hundred thousand you don't even have to get the pro license and if you're over that well you don't have to pay royalties you just get your pro license you don't have to pay royalties and you don't have to go on like with this whole process of paying another entity you might of course if you release to steam or one of the app stores you're gonna have to pay them but that's gonna come out automatically from their cut you don't have to act and somebody a check and it's just nice and simple right so we don't have to pay extra royalties on top of stuff it kind of simplifies the process and it just made it very very easy to get into and this kind of goes back to also when we were starting out unreal wasn't free right unreal was an option but we would have had to pay to start with it now they've made it free and available so that anybody can get in there and get started but they still do have the royalty program I don't know if they've cut that down maybe they have a um a minimum on the Royal theist now it didn't used to have one used to be 5% all the way but um that probably changed I mean when I first started with game development it was a million dollars just to get started so now it's free hopefully that's changed but it is one of the things that I've loved about unity and it's one of the reasons that um I found well so many other developers out there which is another one of the great reasons that I don't want to switch there are a ton of unity developers out there and I think that it's largely because you knew was available for free for developers to learn on and to get better at so we could start making games without a big upfront cost and without a big learning process right really you can get in and start making a game with almost no experience and kind of figure things out as you go along I've taught fifth graders how to make games and unity and they're relatively proficient at it it doesn't take much if I tried to do that in unreal and tried to get them actually writing C++ I don't think that's gonna happen but getting them to write very basic C sharp and read some inputs and make things jump and shoot wasn't hard at all it was actually surprisingly easy so I think that that barrier to entry and the UH just the sheer simpleness of getting into there makes it so we have a ton of developers out there and that comes in really handy so if I want to hire new developers there are a lot of unity developers out there if want to just talk to other developers there are a ton of them available I go out reach out and there's developers everywhere that I can ask questions for instance in the user groups if you go to the Unity page they have a giant list of user groups and they've had that forever just these are meetups that people go to where they talk about unity development they teach each other they learn from each other share experiences hire each other get jobs from each other it's a great networking events and these are really common for the unity community I haven't seen this so much in other communities I've seen little groups pop up for other engines but the Unity ones are just like worldwide they're everywhere and I really enjoy them and I find that just that sheer number of developers really helps I mean if you look at the stats or more unity developers than probably every other engine combined and I would be surprised if it doesn't dwarf that number now let's go on to UM one other thing that I really like which is that they're constantly releasing updates so they have very fast release cycles doing what I think they're on like three releases a year now but sometimes feels like four I don't know they release a lot and they're constantly adding new features the features are available in beta and we can just go grab them an update and it's not hard to update so upgrading from unreal 2.5 the three was pretty close to impossible when I looked at it I'm sure somebody could do it I certainly couldn't when I was looking at the at the process upgrading from any version of unity to a newer one is usually pretty simple especially I mean going from three to 2019 might be hard but going version by version isn't generally too hard now if you go of course long long jumps of ten years it's obviously not going to be the same but if you're going those incremental jumps are nice and easy and it's easier to stay up-to-date with unity of course things can break and if you're using some different certain things you can run into edge cases where stuff breaks but I'd say 95 99 percent of the time when I upgrade I don't really run into issues I can think of one time where I ran into a big frustrating issue and it wasn't even a real issue was just an issue with a plugin that I didn't have time to address though reverted back so upgrades and new features just amazing going into the package manager and seeing all of the cool stuff that they're working on and just the the responsiveness of the unity developers the team that they're really quick to add in new things that are requested and just kind of follow along with the community which I really love another thing I really like is the ability to build non-game apps and this might seem a little bit strange maybe you don't care like hey I only care about games but this is actually kind of important because a lot of developers that I know who work on their games part-time or indie developers they'll um build these apps for hospitals or museums or whatever kind of place that wants some cool interactive application maybe it could be kids or just for people to see something fancy and flashy I mean even cars I'm pretty sure they added unity support for Tesla's recently again goes on to that whole early adoption there they get kind of everywhere really fast and first but building these things helps a lot if you're a game developer who just needs to earn some extra money along the way because they tend to pay really well they're very very easy to do in unity if you want to build some sort of interactive thing that like pop stuff when you touch it or pops up some text or whatever it's very easy to do in unity and make it look very pretty in a really quick amount of time so they're a really good way to just generate some revenue while you're building your game I don't see that in any other game engine and I think that you'd have to switch you know from an end a game engine to something else to be able to do that maybe not maybe I'm crazy I wouldn't know don't put it past me that could be totally wrong there but from what I've seen a lot of really fast and easy to do apps that's done in unity and I kind of I look for him now so when I go out to places I go to like Disneyland I'm looking like hey is this made in unity can I figure this out usually I can't get into it but try to figure him out anyway cuz I I think it's kind of neat and then the final thing that I want to talk about and it kind of ties into that is that um when we're talking about c-sharp and we're talking about non game stuff there are still even more resources on how to write good clean c-sharp code how to architect projects well how to do the solid principles how to just follow ways to keep your code nice and clean keep it testable a lot of those resources and examples are in c-sharp they're not really a many in C++ that I found the sharp is kind of the language for that c-sharp or Java just because those were the top enterprise languages when a lot of these things were getting done of course now there's a lot in JavaScript as well but there's still so much C sharp info out there that I find it really easy to get developers who understand the ideas behind having clean maintainable code that's easy to work with for years no decade later and I didn't really see so much of that when I was working in C++ and C++ it was all about let's get it working let's get it fast let's make sure that it performs well enough maintainability was never really an issue of course that's still just my bias on where I was the things that I saw could be totally different somewhere else but in my experience just the fact that we use c-sharp in fact there's so many good c-sharp resources out there you can go grab like I don't even want to listen I'm maybe I'll put a book list down below there ton of them though so I hope this list was helpful um if you're not sure what engine to use I highly recommend you just take a month spend it with unity go try things out and just look through some of these things look for some of those user groups look at some of the resources grab a standard c-sharp book it's on clean coding principles and just play around with it see if there are some other opportunities out there but definitely give unity a try if you're not using it already and if you're curious about other engines I'm go try them out it's always interesting to see what they're like see what their workflows - like in what areas they do better and there are always some spots that other engines are gonna do better they there's never gonna be one engine that's best at everything but in my experience in my opinion unity is pretty much the best at most things and I don't see any reason to switch way now if you have different opinions on this you got thoughts about why I switch to some but something else for some other thing that you think is missing from unity like visual scripting for example but they said that's coming soon and there are plugins for it now let me know drop comment below I'm kind of curious to see what everybody else is doing what you guys are using and any arguments against using unity any reasons that you would use a different engine I said I don't really dive into too many other engines anymore so if there's stuff that's going on that I don't know about I'd love to hear about it and I'm sure everybody else but anyway thanks again for watching thanks a special thanks to everybody on patreon really appreciate you guys and oh I forgot to ask but don't forget to share the video like it subscribe and tell everybody about it and all that fun stuff alright thanks again you
Info
Channel: Jason Weimann
Views: 314,368
Rating: undefined out of 5
Keywords: unity or unreal engine 4, unity vs ue4, unity 2019, learn unity or unreal engine, game development unity, game development, unity game devlog, unity, unity vs unreal engine 4, unity or unreal engine, game dev, unity3d, unity mmo, unity mmorpg, unreal mmo, mmo devlog, mmo development, unreal, unreal 4, unity2d, unity3d.college, unity3d college, everquest 2, vanguard, everquest, c#, gamedev, aaa game development, unity vs unreal, unity 3d, pantheon rise of the fallen
Id: lJHETpoLmTU
Channel Id: undefined
Length: 17min 55sec (1075 seconds)
Published: Sun Nov 17 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.