Unity Questions and Problems? + Q&A

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey what's up out there hopefully we're live looks like everything's starting up anyway I just wanted to get this started early instead of waiting I've only got about an hour got a bunch of features to add and videos to record and bugs to fix so why not just kick it off a few minutes early so today I really just wanted to talk about a really interesting reddit post that I saw which was posted by the unity official it looks like will posted it which I thought was pretty interesting and he was asking what the top five annoyances were if you haven't already seen it I put a link in the description I'd say go check it out pull it up save it off on Reddit and read through it and definitely go submit whatever you think is important to to that forum because that's what they're looking for so it may as well kick it off and you know just give them as much info as you can so let me switch real quick to screen sharing mode I want to talk real briefly about it I also wanted to just preface this and say that when it the title says what's wrong with unity obviously I'm gonna be super biased because I love the engine and like there of course there are issues and there are things that we'll talk about that's on there on this list but overall like yeah it's still my favorite by far and I don't want anyone to get the wrong impression or anything that there's something actually wrong with it it's just I wanted to talk about these things that other people were concerned about and the stuff that um yeah it popped up here so I'm just gonna pull it up yeah all right well my screen shared you guys can all see it right and I assume everyone can hear me if there's anything wrong let me know and also if you guys have questions I put a link to a Q&A forum so you can just drop a question right in there and I'm gonna go through those as well it's just this tab right here so I'll just bounce back and forth and go over stuff so yeah on this forum if or this reddit post if you haven't already looked there are a lot of things that were very similar there were a lot of like same themes and patterns that I saw of people complaining about a lot of similar stuff um for instance this first one was about basically all of the new features there's constantly new features getting added in and old ones going out and obviously it seems kind of confusing I think to people especially if you're not really heavily into the unity ecosystem in an environment it's hard to know you know what the state of all of these things are when should I use this when should I use the new stuff or should I be using the old stuff like the scriptable render pipeline it's new it's pretty freaking cool still most people I know aren't quite using it yet and that's because it's just changing you know it's changing over time and it takes some work to learn the new stuff also there aren't many tutorials out there about it which is something that I think I'm going to start doing a lot more of in 2020 some of the scriptable render pipeline the HDR p-type stuff and the lightweight 1/2 and then is talking about networking which we're definitely going to talk about today and XR which is just the VR /ar or virtual reality / augmented reality I think it's a Microsoft's terrible term for it like they like to rename things and come up with their own name it's just a mix of both of those things and that's changed dramatically too but to be honest the initial versions of the VR stuff really needed work they weren't very simple to use they required a lot of code that you had to rewrite over and over so I'm happy that they're redoing that system I still the state of it is kind of in flux though and then dots everybody asks about dots if you don't know what that is it's the data oriented tech stack and that's the new stack for super high performance and just very scaleable big scale stuff where you have tons of things going on and you want to keep performance fast you want to keep memory usage low and you keep memory access low I mean that's the one of the biggest things that they do with dots is keeping all of the memory access sequential so that you're reading things fast and processing things it really fast and without them yeah that was slowing down and without eating up battery power on mobile stuff dots is one of the interesting ones too because I don't know anybody who's using it as a full solution for their project I know a couple people who are looking at parts of the systems and using it for parts of their game or at least looking at using it for parts of the game but I think the biggest payoff is gonna be that it's gonna start getting implemented more into the existing stuff and a lot of people just don't understand that that a lot of what's gonna happen at least from what I can tell I don't have any special secret insider knowledge but from what I can tell and what I've been hearing from everybody else is that um a lot of the benefits from this new tech stack are just somewhat getting merged in with the new or the existing functionality to make a lot of that existing functionality faster with new versions of that stuff which is pretty exciting I think but it also means that people get confused cuz they don't know hey should I be doing object-oriented programming and unity or should I be doing this dot stuff and I mean if you're asking and you don't know the answer I'd say you should be doing the object-oriented stuff if you know enough about unity and you know what dots is and what the benefits are and you have a real use case for it then it's worth looking at but I wouldn't just jump right in and start with that or anything and then there's networking I can't want to talk about the networking part but I also wanted to scroll down all earth well I I kind of want to talk a little bit more about this other stuff first and just all of these features so a lot of the time and a lot of the complaints on here we're just about all of these new things coming out and they're not completely done and I can understand the pushback for that and the reason that people don't like it but I think that the payoff and the benefit is well worth it because when we get all of these systems in there early alpha states and in their beta States it gives everybody time to actually use the systems and give feedback and gives unity time to react and respond and change the systems instead of just bundling it all up with exactly the way that they think it should be and shipping it out there you know making it more interactive and letting the community I think contribute quite a bit to it which i think is awesome so as much as I can understand the frustration with it I think that as long as things are very apparent and really labeled for what they are like hey this is alpha this is beta here's when we think you should start considering rolling this out I think that that would help a lot more and I think that's where people would get mixed up with this and they get frustrated because they see all of these new things and they don't know what the state is luckily some of these things are just in the package manager' and then they're in there as preview packages so you can see exactly what's going on um let's go down though I don't I hit the next one see what I don't remember what all of these were so I wanted to just take a quick peek and pull them up and talk about him yeah and we're gonna talk about unit and networking shortly because that's there's a whole one of them was all networking networking networking in fact why don't we just talk about that now I don't need to a delay it right that was which one was it it was it was a pretty funny one it's like listed five things come on where are you post shouldn't have collapsed all these huh which one was it cuz it cracked me up I don't know I've lost it somewhere it oh here it is yeah thought long and hard came up with a carefully curated list one through five all networking and the reason for this is that well unities networking overall has never been a great option just the built in stuff has never been perfect they didn't really have a system then and there were a lot of third party systems early on so we would use things like photon was I think the first one that I used or writing our own raw TCP and UDP libraries so they eventually replaced it with unit which is what people talk about and mainly I think where the big problem comes from because unit was built and it worked it allowed you to get in and make a simple multiplayer game but it wasn't easy to use it wasn't very performant and it just it ended up getting deprecated because it had too many I think core issues with the way that it was built I think they decided hey we want to do a new system for this unfortunately I haven't seen a lot of messaging about this new system the last thing I saw of any real substance was the the multiplayer I figured it was it was a multiplayer starter thing a package that you could download and you could install or you could try to build yourself but it was all networking built on top of a custom UDP setup and there wasn't really a library there yet now that may have changed I haven't really look too much into it I don't expect that there's gonna be anything until sometime in 2020 I'm really hoping that we get a really good network system I mean this is I think the one area that unity kind of falls behind other engines most of them have really well done network solutions for certain types of games specifically for first-person-shooter types of games they have good networking systems that just pretty much work out out of the box where unities doesn't and there again there are some third-party options out there I don't know if any of them are really perfect either when we talk about it for MMO development for example we're using some custom stuff well we were using you Lincoln now going to this very custom stuff built on top of Ginette and I've had people ask what that is so let's just pull it up just pull up Gina if you look on the way Wikipedia right here it's just a sea library and then we have stuff built right on top of it now what unity is gonna release for their official stuff I have no idea I'm kind of interested to see but you know with the past experience with the network libraries and then the new network library that came out or the new network example that came out I wasn't super excited again it was relatively low-level stuff and it was a lot of just how to write these systems instead of a pre-built system which I think if you're interested in writing your own and you really need a high-performance system looking at what they've done is very valuable and it's super useful but if you're just trying to make a multiplayer game and you don't have a lot of time energy or interest in all of the details of how multiplayer networking works and you just want simple like first-person shooter networking that works out of the box that's just not there yet at least not with the built-in stuff last time I checked somebody mentioned smart Fox was good too yeah I have to try that out there are a lot of network solutions out there I haven't tried all of them and I haven't tried most of them recently like I said my buddy Kyle loves networking stuff and this is kind of the solution that he went with it seems really great he's explained it in detail and I think it's an awesome solution but it's not an easy thing to jump into so I am excited to see what they do with the new network but that's I'd say by far the biggest problem that I've got okay let's see what else did we have in here let's scroll up and just talk a little bit more about some of these things also remember if you guys have questions oh good they're already popping up I'll talk about like one or two more of these and jump over to some questions and maybe go back and forth or something so let's see this guy was talking about oh when you make a code change and unity frees us to compile when it's when it's reloading that part is pretty frustrating I think they've actually got a change or fixed for this coming somewhat soon I know there's a change for asset importing I don't know if it necessarily addresses the issue here with the compilations though and it's just like when you save and you bounce back in unity is doing the compile in the editor and it can freeze things up depending on the speed of your system and how big the project is of course again if you're using unity though I'd say you should also always be on a fast solid-state drive I think you should do that no matter what if you're doing game development or just programming in general use a fast SSD like the number one most important thing that you can do it'll speed things up dramatically I use the 970 Evo and it's definitely the drive I'd recommend nvme one not the Saturn one make sure I've ordered the wrong one before sucks cuz it's like a fifth the speed so make sure you get the nvm you want if you if you can and your motherboard supports it otherwise just use some solid-state drive it'll help a little bit with this kind of an issue but again I think that the new the new systems in 2020 may address that a little bit but it hasn't been a big problem for me again just because the drives are so fast and then oh your custom inspectors seem needlessly convoluted to make even a basic one that I I think I have to agree like it's not the easiest solution to make a custom inspector you have to go in there and you know write weird code that goes in for the editor and then it's it's certainly not a very simple or clear system they have a new system and development for it I haven't used it last time I saw it was about a year ago and it didn't look much simpler so I'm hoping that the new version when it comes out is easier to use and just kind of handles everything oh yeah somebody saying units not only deprecated it's removed yeah I know they've left it in for a while but I think is I don't know when they pulled it out completely I haven't actually tried it in 19.3 it may already be gone I'm sure it's gonna be gone in 19 or 20 they were eventually I think initially we're gonna remove it from 19.1 but then it came back in because there was a lot of outcry because yeah you removed the only networking stack nobody can upgrade it kind of sucks right so let's see what other stuff did was he talking about in here being able to manually reorder create a there's some just little things here in the asset store oh wow yes the asset store UI has I'll totally admit I can't stand the built-in want to never have been able to mostly just because I think it's trying to do stuff with the web page and the web interface and it was always just really clunky compared to just using a Chrome browser so I just pop over to Chrome find the thing that I want and then load it up in unity one nice thing though in there if you haven't seen it before is if you're searching in your project view do I have a project I can share open no these are all other things but if you have one open you can search in the project view and actually click the asset store tab and it's a nice way to find little placeholder stuff not a great way to find like the specific thing that you want but say you're searching for a hammer you can type in hammer there hit asset store and you'll see exactly what what's available you can see the model and just import it directly there which is nice but the built-in one is kind of a pain not a fan of it and the new one it was terrible at first it actually seems like it's gotten quite a bit better so I don't want to complain too much about it I like that they're really improving it the old version was really frustrating the new version was even worse and then I think the new version has gotten dramatically better so it's still not perfect but it's not I should say it's not as good as using a Chrome browser but it's definitely better than it used to be now it didn't used to be it used to be really bad and yeah everyone who's used it kind of shouldn't know the other issue I always had with it was when you had a lot of assets going to the my assets page was totally useless it'd be like you know you've got a couple hundred things there and it would take a minute to load and then you couldn't search and filter and you'd be scrolling through it was a nightmare luckily I think that's gotten a little bit better and they removed a lot of the junk assets so they used to give away a lot of free stuff or I remember I had lots of things that were just a single animation as an asset drove me nuts because I'd be scrolling through there and there was no way to get rid of them luckily they kind of cleared all those out and it hasn't been nearly as bad and then yet more it's it's a lot of the same stuff right it's people complaining about features coming out a little bit too early and again I think that while it can be frustrating to see features that are in beta and not realize that they're in beta and start to use them and find all these issues I prefer it over a long iteration cycle where we're waiting like a year for thing and then that thing's not perfect and then we have to wait for another year for them to do another update and then it's not perfect and just continues on with that same cycle and that's been pretty much the cycle I've seen from a lot of I wouldn't say necessarily other game companies but just general software companies you know they release things and then you gotta wait a long time for an update and it's terrible I really like the fast iteration that unity has even though I know people kind of complain about it I think that the benefits far outweigh the negatives there um what else you got here shader stuff and this is again very similar it's a lot of it is just related to the new stuff that's not quite ready yet although I gotta admit like I'd like to see more information and more posts about a lot of these things the jobs board this one actually stood out to me too because I was surprised to end up set that ice when the when that stuff all went away in favor of connect I never really liked the connect UI I found it kind of confusing and hard to tell like what is the site actually for is it for finding jobs is it for is it just supposed to be like Facebook for unity is it like what I never really understood what it was trying to accomplish and I felt like the job board was great because it was just nice and simple and everybody kind of understood it I also have met and hired developers on the job board multiple times and posted four jobs there and taken contracts off there I think that it's a it was a great place to do that kind of stuff and the new system I don't know I haven't looked at connect in a while but when I would look at it before most of the jobs were listed as tasks they like and I'll go do this thing for $100 it was like a bunch of stuff that people weren't going to be interested in and it wasn't very easy to filter also um at one point I think I even applied for some jobs on there and I never heard anything from any of them so I thought that was kind of interesting too I just I don't know I think a job board just going back to a job board or having that job board would be good or having a very easy way to do it and connect maybe I don't know I really prefer the forum mode though where you don't have a whole bunch of stuff in there just with images and big formatting and stuff I want to see like the title the description and that's it or like I like the Gama Sutra version where they just have like a title a little bit of text on it and that's it just kind of let people find the jobs and not have to dig through a big kind of hard harder to use UI just be able to see them filter and be done and it maybe connects a little bit better than Alec said it's been a while since I've actually dug through there but if this guy also made a game job forum which seemed kind of cool just a web page where you could go in and look for jobs so they had it doesn't look very active but I mean it looks like there's some stuff here so if you're interested in looking for jobs it might be a good spot or looking to hire people might be a good spot I don't know let's see what other kind of stuff was in here unity YouTube channel videos I don't know the quality of these anymore it's been a little while last time I looked at some they were pretty good I wasn't a big fan of the built-in one where you're going through and clicking all the different things but I think that that could have just been a side effect of me being too familiar with unity so showing me where every button was and having me click on it just drove me nuts also having to reload the project like I went in did a couple things like two minutes later I'm loading another project doing a couple things and then it's loading another project doing a couple things I think that probably could be streamlined it may already be streamlined to like said I played with it a little bit when it came out and it just wasn't I'm not the target market for it so I wasn't a huge fan but I think that overall they they tend to at least they put out a lot of good videos on the stuff that they're doing now the coding standards and the things aren't generally the best but I think that that's mostly because they're trying to target it for very new developers and if you focus on hey these things should be private and this you know you serialize field here don't don't make these things public or name these things a specific way you're getting past the the core stuff and you're kind of obfuscating the very important stuff of let's make it work first right and I think that a lot of the videos on there are aimed very much hat let's get you in let's make it work let's get you motivated so you can actually build something and then go from there and then you can kind of pick up the more advanced stuff after you get used to the fundamentals so I don't know that they've been a great place for more advanced stuff but they do have some really good videos on just a semi advanced topics - or new features I remember when a sin machine came out it was actually the guy who posted this will who made a bunch of videos on it it was great it was a really good way to go through and understand how the system worked and see some of the cool features in action which I thought was pretty neat let's see was point seven oh I I I still like this lick said a lot of people complain about this this whole release cycle but I really prefer the faster rapid releases over the the big waterfall you type stuff just because again you get feedback and it the end result I think ends up being better let's see what else do we have here oh this one this one has always driven me nuts the fact that there is not a keyboard shortcut to save project oh man it's super frustrating luckily now when you save a prefab in the edit mode it seems like it just saves the file - so you don't have to worry about it as much it's not like you go in modify your prefab something crashes or you forget to save or whatever and if you lose your change at least now you're going to prefab at mode you hit save and it saves it off but yeah I really wish there was just a freaking hotkey for saving projects like make it control shift S or ctrl alt S or something and I think there's actually an extension that would do that so I guess that shows how little of an issue it's actually been for me because I Begley remember there being a way to do it and I didn't even remember what it is let's see I'm gonna jump over to oh no I'm gonna talk about this real quick no dark mode option for everyone I yeah I find this one pretty interesting because I personally I'm not a huge fan of dark mode I know a lot of people really love it a lot of the stuff I've been doing lately is in a beta so it's automatically in dark mode so I guess you could always just use a beta and then I think somebody's got like a little hack down there but I think I I don't know dark modes an interesting one right I'd like it for the new versions if they just make like multiple skin options to be kind of interesting to see how that works out do different different modes like not just light and dark but like the blues and the more modern ones to just kind of redeem and reskin it and then just make dark mode for you that would be cool because I know a lot of people really like it but yeah for me it's just when I'm in dark mode I usually like my office super brightly lit so it kind of contrasts too much with the screen and with my eyes they like to be relatively light but um when I'm doing stuff like this and it's kind of dark in the background then a dark mode doesn't bother me as much but like I said I think it's still a cool thing let me jump over to these questions real quick though I want to talk about them and then maybe go back I know people had some questions and like said I only have about an hour so I don't want to ignore the questions and forget it the first one okay post-processing stack is slower than version 1 on mobile yet a replaced version 1 is now part of you RP how did unity and unity community allow that performance segregation that's not something I know about personally I been avoiding mobile I'd say for the last year and a half two years so it hasn't really been an issue and it does seem a little frustrating I wonder how much worse it is I have to check that out though if anybody knows how much worse it is I'd be kind of curious to know oh and a question about Wendy use ienumerable over concrete implementations like arrays or lists um and say a good question I would say most of the time I don't use ienumerable unless it's some sort of a more of I guess something where I'm requiring them to pass in something enumerable but I don't care what it is so it's for like a an input parameter to something like a method where I might want an ienumerable of some type because I need to iterate over them like maybe I haven't won an ienumerable of NPCs I don't care if it's a list I don't care if it's an array or whatever else I just need to be able to iterate over it so I can allow that ienumerable of that type again it's relatively rare that actually use these in actual game development it's more something that I use in library code where it's something that's going to be reused and there's not a whole lot of that just with general unity stuff so if you're looking for opportunities to use it I would say you probably don't really need to worry about it it's just if you have like an input parameter that could be either and you don't want to be like doing a to list on the thing because sometimes it's in an array sometimes it's in a list or sometimes it's in a dictionary set of values you might want to just use an ienumerable as the input parameter ienumerable a generic one really ienumerable of some type that you can iterate over are you gonna make an ml tutorial and can you do it in the next video eventually I am gonna make one I'm definitely not doing it in the next video it'll probably be a 20/20 version video I need to get updated on the latest machine learning setup and scenarios it's changed quite a bit since the last time I did it but it looks like it's just gotten easier to use so I definitely want to do one the next video is actually going to be was it I just it's getting edited right now it was tips for building big projects and mmo's so took a lot of the questions and stuff that we talked about in one of the last streams about big project development and mmo's and just boiled it down into what I thought was going to be a short list of just like 10 or 13 very important tips or rules that I would say you should definitely follow if you want to build a big game and it ended up not being that short I don't know what it's gonna be after editing but it was like close to an hour of just talking and talking and talking and trying to nail down some of the important things to keep projects from falling apart so that's what the next one will be machine learning is definitely gonna be some time soon because I think it's interesting and I really want to get some BOTS going that are just you know using basically using machine learning AI to control them and run around and see what kind of interesting things you can do with it I think that it would be a lot of fun but it's definitely not next up sometime soon though um the biggest problem with unity is abundance of render pipelines yeah I think that um I'm very curious to see how it ends up to if it's gonna be for for a long time if it's gonna go down to just two or three or what's gonna happen I wouldn't be surprised if there's just like a universal and a lightweight or something and then everything else kind of dies off eventually but the biggest problem is that transition stage where everybody's got all of these things that work for the standard pipeline and then they want to jump over to the new stuff and they've got to do a whole bunch of rework they've got to rework the assets the shaders and everything else and it's very hard because all of the stuff that you find on the asset store is set up for the standard and all of the tutorials you find or at least most of them are set up for standard and that's why I think that still most people I know unless they're doing a brand new project they're just sticking with standard so some people are making new ones and they're going for the new thing right away but all of the projects that I know of that we're already existing just have stuck with standard by day I can imagine if you're just getting into unity it's got to be super confusing like what the hell do I pick why do these not work why does this tutorial not work at all oh because I'm in a different pipeline and and it was also not the easiest thing to switch and set it up so I totally agree what's a practical use of anonymous types and methods um that's a good question may I'll just do a full video on that because it's I don't know if I can explain it well in here I think God to do a video about that one when do you know when we can expect the unity networking though I mean my guess is probably late 2020 but I haven't heard enough about it and usually they tend to you know spoil these things and talk quite a bit about it so we'll see but I would guess probably sometime 2024 now I would start looking at third-party solutions third-party alternatives that seem good for you or building your own depending on what your specific scenario is I've been trying to get started with the ECS but installing the packages seems to be broken any suggestions I'm not sure what you mean I've last time I did it the package manager seemed to work fine but if I'm curious if there are issues does anybody else had that problem getting the ECS demo working or the I'm say the ECS package is working I was watching the the chat over here on the left and I'm asking about the FPS demo project yeah that was the one I was talking about with the networking stuff earlier which he said I thought it was pretty interesting but um he's extremely difficult to follow even if you're really familiar with unity I know quite a few people who went through it they're super experienced and took them days to understand everything that was going on there it wasn't the most clear thing I'm hoping that they're doing a version two of it where it's just a lot more streamlined with some built-in libraries that handle all of the the more complicated stuff semi-automatically so that it's easier to work on let's see what else we got here using g net with going of viable option for unity network and using g net definitely is i'm not sure with the golang not something i've used before but Gina does definitely is what were you for pantheon just because we can get super high performance out of it without any garbage allocation so if you if you're building a like a server based game and you've got garbage allocation happening which is just like your newing up objects and the garbage collector has to clear them out and destroy them eventually if you're putting all of these things into memory and then copying that memory over to the other objects you're building up garbage in your network layer and the more messages you get the sooner you're gonna get to a point where you need to garbage collect when you garbage collect on your server messages stopped going out everything freezes up for a second and you get like a server freeze or a server hitch first and it's a terrible thing to have and a terrible thing to deal with and getting rid of those garbage allocations in that Network layer is super important in my opinion so yeah you definitely can use the G net in there I'm gonna switch to individual mode because the questions are popping up faster than I can answer them now let's see have you done any videos regarding building a UI code architecture for your game if not could you I don't know if I have done any videos on that I have some in a course that I'm doing but I don't know if I've done any in a public video setting I probably could though there's no reason I couldn't so building up a UI this used to be something that was really frustrating for me because a lot of that way I guess when I started out with unity building a game and the UI was kind of an afterthought at first cuz like hey let's get the functionality going let's just put in a little placeholder UI and slap things in and just kind of wire things up as they were needed and it quickly turned into a mess for me so when I was when I was building my UI systems that way things would break constantly and I'd start having to expose weird code and then we go like hey we want to add another level and suddenly I look in like oh man my whole UI is just set up in the scene and there's no way for me to make this work in another scene so I copy it over and paste it over and hook up all of the references cuz and in the first version this and when I was starting out with unity and it was pretty bad the things in my UI were hardwired to other objects in the scene so they're like linked up to the objects through the inspector so I move the UI over and suddenly I got to rehook all these things up obviously that's not the way that you want to go and there were definitely things that I changed along the way of switched to doing prefabs and then making it so that the prefabs could find the things that they needed to register for and hook up now with the thing that I recommend if you're building a UI or just building a whole UI system for your game I'd say put it in a separate scene so that you have a totally separate scene that runs your UI and I'm gonna switch to camera mode so yes set it up so you have just a totally separate scene in there where you're you're using that scene and loading it additively so that it's there but it's unique or it's not unique for each level so that it's just loaded as an additive thing and then registers with game objects in that scene or those game objects register with the UI and say hey Here I am here's that here's where my data is and my events that you can register for it really you're just kind of like saying hey you i dot register this thing and then it will add it in and callback events from the object or listen to events from the object if you're not using events in your UI system and your UI hooks then you're probably making it a lot harder on yourself because that means you're either polling things or doing something where it's where your code is directly calling into the UI and ideally you don't really want your code calling the UI or I say you know what your gameplay code calling the UI you want your gameplay code firing off events that tell the UI hey something's changed go update your state based on this thing that's changed by the way um if you guys don't mind hitting the like button it'd be awesome like 32 right now 180 people if just like a hundred and sixty people hit it they'd get up to 200 be really cool also has noticed my little my little tour born Torbjorn tribute back there okay I saw that I was really excited to put that up yesterday found that little hammer and got got pumped okay let's go on to the next question github let's see is this the library I think it could be I'm gonna pull it up and see if this is the one um no this is not it I will find it though it's in the one is written in C it's I this one right here so you just search for G net look on Wikipedia you see um you see the docs to it it's written in C built on G web that's that's the one I'm talking about when I'm talking about that oh wait I just realized I'm not sharing my screen anymore it's this one right here I'll switch to desktop that one right there and then I'll switch back so just search for it on Wikipedia and you'll find it let me jump back over to questions the next question was how to stop over-engineering code and just get to work on the actual project okay that's actually the kind of question I love to answer because it's relatively straightforward to me now it used to be really hard for me what I used to do before is really pre plan a ton and I would pre architect out how my systems were gonna work how everything was gonna tie together now what I prefer to do is really simplify things down and try to write the simplest code that's gonna get the project done or get the functionality done but without letting it turn into a mess so I say like the simplest but it's not necessarily like I would say that like having one class is not simple having you know big giant monolithic methods is not simple sometimes people mistake like a single place for simple or simplicity you're still gonna need interfaces abstract classes you're gonna need a good number of files and you're gonna want to keep the number of the size of the files down but what you want to do is not pre-plan for too much don't add in hooks for things that you may need it don't add in special custom code at a base class level for one little weird scenario if you find yourself adding a lot of ifs and switches to your code consider switching to writing new classes instead because what happens is you'll end up you know as soon as your code is a bunch of nested ifs it gets hard to follow it's hard to understand what's going on and easier to break things same with if you end up with a bunch of switch statements that are copied all over you get the same issue we're suddenly changing things as hard and stuff breaks easier if you can just swap out the class that's controlling something it's dramatically easier and it's kind of just like think of it using the state machine for as many things as possible where you have a behavior got like this base behavior that does something and then you have different implementations of that and then you can swap that different implementation on to whatever game object or class or thing it needs the implementation so if it's like moving swap out different movement if you want to swap out the weapons stuff you swap out the way that the weapon works don't just have a giant set of if statements in there you know when it comes to over-engineering again a lot of the time it's just people pre thinking way too much and trying to come up with all these different possible scenarios and also early optimizing a lot of the time people will pre optimize like crazy they'll optimize usually the wrong thing because when you're guessing what to optimize if it's not a project you've done before you're gonna guess wrong everybody guesses wrong you might get a couple things right but you gonna guess a lot of things wrong and you spend a lot of time on it and say getting to a shippable product as quick as possible or at least a working product as quick as possible is very important but as long as it's not at the cost of dirty sloppy code you want to avoid the messy stuff but keep it as simple as possible without the messiness and also um this isn't really part of the question here but keeping things named well and named cleanly so that the code is easy to read you gotta remember that your code it's written in the way that it is for humans to read it not for the computer the computers gonna change it into something completely different so write the code so that it's as human readable as possible if it becomes a performance issue in the profiler change it if it's not a performance issue you can't see it in the profiler and you just think okay this would be a little bit neater with one line it's probably wrong simplify it and make it easier to read and easier to understand also if you find that something is hard to understand when you're working on it change it like simplify it and see if you can make it easier to work with right away don't kind of keep fighting it and keep making it harder and harder just simplify things down if there are features and functionality that you're not using delete them you have source control at least you should and you can clear that stuff out let's see let's go into another question how do you recommend somebody with one year experience transition to freelance unity development primarily a programmer with a comp side agree no at the one-year mark it's probably a little bit harder to do just because um you're gonna you're gonna have to find projects that you can work on that kind of match with your experience because it's just jumping into freelance stuff can be quite a bit of anything there are all kinds of different things that you could do I would say if you want to do it though I think there's nothing wrong with it it's just gonna be a little bit harder there are a couple key things for getting freelance jobs the biggest one is networking by far just meeting people meeting other developers and meeting companies who know people that want to hire freelancers meetups are amazing for this if you go to user groups or meetups in your area there I've never been to one where there wasn't somebody looking to hire unity to developers um they're usually not looking for anything really specific like top notch they're usually people there who have projects that they want built and they don't need a lot of experience they just need somebody who knows how to build it and it's usually not something too complicated you got to watch out sometimes there are people who want to build some crazy thing that you know even a giant team couldn't build and nobody knows how to build and it's like some big concept but most of the time it's people who just like have a business idea they have the hookups and connections and the money to build this thing but they don't really have the technical expertise and experience and they they're fine with hiring somebody who's got a year or two of experience that can come in and just make the project work I would say make sure that you have a little bit of support network just friends and other developers that you can reach out to that have ideas for how you can solve problems so if you run into issues you can you know definitely have people that can help you with them having that support network though will also go a long way for getting you new contracts I mean I get people asking me for contract stuff all the time and I usually just refer them off to somebody I know who I think can do the job so if you have no other contacts or people that you know talk to them and let them know what you're interested in and what you're doing to and start off make it I'd say start off relatively cheap do a couple for a low cost and get used to the process short term ones I mean I don't do like a six-month or year-long contract cheap but if you get something that's like a month or two do it a little bit cheap get in get that contract and get used to it and get used to that process and a lot of time those people will also refer other jobs to you again referrals are by far the best way to get freelance type stuff there's also by the way a lot of non-game freelance work out there so if you're looking at just general apps there are a lot of those out there where there are companies that want to put together a little simple interactive display and they're hiring for it and they'll pay a decent amount of money for it and they're just not too complicated I think that you can even look for government contracts at least in the US they get posted online for these kinds of things and you can go apply for those as well having a website also goes a long way so you have some site that has a portfolio on it that shows what you can do it gives a lot of credibility and makes it a little bit easier to get those positions what's going on um what else we got here have you tried mirror as an alternative to you net I haven't I've heard good things about it but I haven't actually tried it myself it seems like it might be a good option though but I have to dig into it I don't know enough about it personally and I might may I'll do a video on that try it out and see what it's like and do a video on how to get started with it and what that experience is like why not use c-sharp sockets is it not fast enough I'm talking about the Jeana comment earlier it's I think it's primarily performance its performance and memory management it's a little bit easier and faster with the Ginette stuff I couldn't really speak directly to all the details and I'd need to get Kyle on here he can really just dive into exactly what all of the benefits are like but it's primarily just a performance thing that built-in c-sharp socket layer isn't really built for gaming it's generally built for Windows apps I mean I've used it dozens of times for things I've tried using it for game development just using the UDP libraries but getting the memory copied over was I think the biggest problem that I had I was ending up allocating a ton of garbage as a message came in and read it and then have to transfer it over and the stuff with Ginette it just worked better but again I need to get Kyle in here to really dive into that from your perspective which one is better for the long run the default way of scripting and unity or ECS depends on what you mean by the long run I mean like in the next couple of years I would say definitely default scripting maybe in the future ECS becomes more popular and a more common way to develop things I think the biggest reason that the default scripting system exists and really object-oriented coding exists is so that it's easier to understand as developers and it's easier to to figure out how an object ties together and really relate these things to real-world objects you know like I can relate a player to an actual person or character to a character or weapon to a weapon when we're just dealing with data and data processing it can be dramatically faster but computers are so fast right now anyway there's not a ton of payoff at least not from anything that I've seen of course if you're working on specific situations where you can't do the things with the current systems then ECS is obviously something to look at but you got to remember that also all of the unity games that are out there now are built without ECS and a lot of those performance benefits that we're getting with UCS which is the entity component system and essentially the dots the data oriented TaxACT a lot of those benefits are coming just getting built into the default unity stuff as well so I would say if you're looking like super long term maybe ECS stuff is is where you should focus but if you're looking at building games right now and you want to build you know you're building just a normal game most of the development is still done with the standard stuff and it probably will be for many years to come and eat the e CS and dot systems are still changing quite a bit and I expect that they'll change dramatically over the next year probably by next year though buy or not next year but yeah 2021 I think that I'll be pretty heavily into e CS and dots and going through it and figuring out where where it all ties in but I really want to wait until it's like a final solid release that I can work with let's go on to the next thing well you cover a tutorial on how to handle a UI properly and unity something like game settings with scriptable objects um yeah that's something I could definitely do again this the second question about UI stuff so I think I'll just do a couple videos on UI development and hooking in UI systems and make some public ones for those two they said I got some in the course but not really anything public and I think that's a part that's lacking on my youtube channel so yeah I'll definitely do it in fact let me write it right now on my notebook videos maybe next I think one more idea that I wanted to record first but then I'll maybe do some UI videos where we can do game settings and a couple other things and show how to hook things together and tie it together without making it into a mess and how to use those events is data oriented design a good match for a machine learning architecture probably I don't know if it's specifically just because I haven't used the machine learning stuff recently but I would be surprised if that wasn't a pretty good fit but I got a dive into machine learning that's on my list of or on my short comedian list of things to hit soon Oh somebody's asking about get and get cracking I you source tree now I try to get cracking for a while I don't know if you guys are talking to me or somebody else but yeah that was an interesting one because I still use source tree for get get stuff just because I find it easier to use and I don't know I tried tower and get cracking and a couple others and I ended up just going back to source tree every time it's kind of weird but I know it's like the simplest easiest to use one but seems to handle everything that I need I think other people are just kind of having chats also if you guys have questions drop them in the forum here so that here let me jump back over desktop drop them into the forum so that I can not miss them I'm just trying to read through them and hit them all and also don't forget to like button so we can get over a hundred or over two hundred two hundred thirty-five people we could get to like three hundred be cool anyway when moving with a rigid body how do you control the rotation on z-axis how to make zero on the freezing z-axis but it's still rotating so you're freezing the rotation of the z-axis is the well however it depends on how you're moving it if it's just moving with the rigid body and the z-axis is frozen on the rotation it shouldn't be spinning but if you're using some code that rotates it it's still gonna move also you know look at the parent and child scenario if there's a parent that's rotating you could just be moving that thing and you may be removing the parent and not the child object I'm not sure what else it could be though if you have it frozen on there and you're not you know maybe you're moving it without using the rigid body I'm not really sure why it would be spinning otherwise if somebody else has another idea for that though drop it in the chat and clem know if you guys think something that I might have missed there some possible scenario where you spinning on it it shouldn't be let's see what's this next question of a lot of sorry if you already said this but I have a lot of projects that have a month turn around I use unit RPC since there's not unit anymore is there another solution to suggest to do an RPC this is where yeah I wish I had a good solution or a good recommendation there are a lot of options out there I just don't know which one would necessarily be the best anymore like I said we've been using all custom stuff lately I've used photon and both in the past and somebody was just recommending mirror I don't remember I assume that mirror has some sort of RPC set up to but I haven't used it myself so I would maybe check that out in fact I'm gonna down as a to-do mirror that would be another video I'm just gonna hit soon just so I can answer that question a little bit better because I'm not really sure let's see do you plan to make a tutorial how to make your first Unity game server that's a good question I think that that actually is a great title for this mirror one let's let's write it down how to make make your first game be server writing down my note game server cool yeah that's actually a good one cousin we do like how to use the system and how to build how to build a game server off of it too so you have like a server client architecture using mirror and unless there's something totally wrong and have to switch but I think that yeah that seems like a fun one to do let's say you switch back to camera for a moment okay I've been working with unity for a while and always find resistance from the client side to do work with unity do you think the new features would help people see unity and what's able to achieve outside the box yeah I've seen the same problem actually got to talk to people about this next week too because a lot of people still have this impression that unity is not a triple-a engine or that you can't build triple-a things or that there's some reason that you should be using a different engine this may have been the case no ten years ago but the biggest problem is is that well and and this is definitely a mistake on unity sparked when they did the licensing model and the splash screen stuff they made you pay to remove the made with unity logo which meant that all of the free stuff that wasn't gonna make any money that was made by you know a high school kid like still learning how to do things or somebody who's just kind of screwing around trying to figure something out all of those have made with unity pop-up so people I get a bad impression of made with unity because they see these little tiny things and all of the good games the big stuff the triple-a type things that are being built with it don't have that splash screen because they pay for the pro license to get rid of it and that's something just worth noting to people when you're talking about it and just explain that that's part of the reason that unity has the reputation that it doesn't deserve because as far as it goes for like building games or just as a game engine there's really not anything I can think of that you can do in another engine that you can't do in unity even the rate racing stuffs even in there now like there's there's no downside to using unity and there's no reason not to use it I'd say when you're working with clients the biggest thing that you can sell them on though is that not only are there no real downsides but your iteration time and your costs are going to be dramatically lower you can generally build things quite a bit faster with unity at least in my experience it's maybe different now there may be some engines out there that you can build faster but in my experience building with unity is the fastest it's the easiest to get a game out there or an interactive type solution out there and yeah I'd say there's no downside and you probably just want to force that and focus on that let them know that you're saving money and you're getting everything and you can find developers for it or it's way easier to find unity developers because it's been free and available so long so you don't need to search and scour the internet trying to find somebody who knows some new language or some new engine or who's really good at C++ and happens to want to come work on your thing so yeah there I said I think that's all I got do you think unity should eventually get real that's too funny let me let me switch back the desktop do you think unity should get rid of the splash screen made with unity to deal with the blowback yeah I think that well I think that what they should do is not make that a requirement for the free version and they may have already done that I know that there are people who agree that work there I would assume that a lot of people agree so I'd say definitely just removing that would be a good idea and even making it say you had to pay to pay put that in there might be good now there were probably some benefits too though if we're being honest like it has the downside of making people think hey you know unity is not so great because I played these little games with it but it also I think spread a lot of awareness about the engine because people saw it everywhere and be like hey what's unity let me go check that out so having it out there while it may have had a little bit of a bad image creation it might have also been really good at just getting the word out there that the engine was existed and that you could get in there and start learning it and that's probably why they have so many developers are one of the many reasons that they have so many developers working with the engine let's see let's go on to the next one is there a way to run unity like headless browser just replicate code on both ways yes there's actually I think it's - - headless as a command line parameter some way I forget the actual one the command line parameter might be death is that one but there there's a command line parameter that you can use to launch it headless and that's what we do for game server code in general so just run it as a headless one and then it doesn't render graphics it's nice and fast it speeds things up and it's how we run our Linux servers so yeah there definitely is just search for unity headless and you'll see it if it's not headless it's something else like no display or something that's been a while since I'd write it usually it's in a script that just launches up the server somebody remembers what it is feel free to just type it in chat - how do you approach teaching beginners to avoid unity bad practices approach teach them the first part so teach them how to do it and then while you're doing I wouldn't say like going into too much good practice stuff but get them used to the fundamentals and sticking with some of the solid principles like especially a single responsibility principle get them used to making small scripts that are small components and building up a component based setup so that they're not just thinking of like hey I need to write this one big giant script they're thinking in these smaller chunks of code and then start mentioning some of the better practices of keeping things private and encapsulated and some of the benefits there and some of the other solid principles as you go along I would say don't try to hammer those things in too much at the beginning show them how to make things work with the simplest code and how to get things kind of going and then show them how to clean things up along the way but also just don't show big giant stuff if you're teaching them don't give them big giant classes that you know that I have this player class that's doing 13 things I say hey here's a player this does this and then here's the other part that it's a totally separate component and we just add that on and it does its own thing worried I'd say a lot less about performance when you're teaching beginners that don't think so much about performance because they're not going to build anything that's gonna beat up or bog down a system unless they're writing a big bug so worried about modularity and component based stuff more than anything else when you're teaching beginners because it's a lot easier to understand like hey I have this jump script and when I hit space it adds force to the rigidbody and makes it go up it's way easier for a person to comprehend that then I have this giant player update method that reads a whole ton of input and then does stuff based on that input so having a single smaller scripts can go a long way when you're starting out especially for beginners and then you can also just avoid having dirty messy code and you don't have to have really complicated code either so you can just make different components what's the best way to implement save slash load games I usually would write this stuff off in a JSON format and then write that out in two-player prefs so that it's stored based on whatever system it's going into you could also write it out to a file but I generally don't have too much data to save and load so I'll just Jason serialize a settings or save data object or save game object and then write that out as a except with player prep so use the JSON dotnet serializer and just serialize it out you do like to what is it it's like that is it I think it's dot serialize that you call on it so you do JSON net and give it the class serialize and it'll write it out to text and that's the JSON which is Java Script object notation it's the squiggly brace stuff that you see everywhere so you just yeah JSON utility its built-in somebody just mentioned it thank you it's actually built into unity now and I think that there used to be some issues with the built-in one I think that they've actually addressed them though there were some things that it wouldn't serialize and I think that that's already fixed now it's been a little while since I needed to write a serializer be I just do that write it out and load it back in depending on your game though you might just be able to do player press load and read and write to if you only have a tiny amount of data you might not even need the complication like you just need to mark what levels are unlocked you could just do a key value look up there and just say hey this one's unlocked this one's not and for that you do like player prep set and player preps that get so that's again for a simple one for bigger stuff though go to like a Jason serializing a big save data object alright I read one more question while I read this can it's a kind of a longer one so everybody hit like again and I want to see get up to 200 I got like 10 minutes left so I want to see if I get that high and it just makes me smile anyway if you got started with game dev where would you recommend to go to find people who would be interested in working on projects with you that could be kind of serious about a project that might take a couple months to complete place is defined by diverse groups like artists sound engineers etc the only place that I know to find people like that really well is at the user groups and meetups now if you want to find people who want to work a lot on a project that's kind of longer-term and I assume for free there I look at the ones that are at or around colleges too so if especially if you happen to be around that age and fit in there you can find user groups that are hosted at colleges and find people there where they're all interested in building things and they want to put something together you got to remember of course that when you're finding people that are working for free most of the time they're still learning too so don't expect super high output and super high throughput from ninety percent you're gonna find like you know one out of five one out of ten that are super highly productive but most of them are gonna be busy and it's going to be a side thing for free they're not going to be super into it unless you've got something - really really driving them that they're really interested in but that's super rare because everybody's got their own game and project idea so getting people to work on something for free tends to be pretty hard now another place can just be at work if you're working in the game industry and you're working with other people a lot of the time people have ideas for building side projects I've done that with tons of friends from work before we've come together and built little projects together built a little mini games or somewhat bigger games I still have a concept for one that we never got to build that was cool my buddy James came up with it we were gonna build and then he had a stroke which sucked it was gonna be a cool little ice skating slash like kind of uh thinking like a Mario sports type thing it was cool but it's sad one day maybe we'll actually complete it without him miss the guy anyway yeah I would say look at meetups though they're a good place for that - and also consider joining somebody else's you gotta remember their I know you want to join one there are probably lots of other people who have project ideas that they're working on and you may be able to just volunteer and join in there and it's a good place a good way to get experience especially if they've got something going on there they you know they have some actual traction with a project alright I'm gonna try to burn through these questions cuz I got a couple minutes left let's see what I got where's the best place to find games that have been made with unity um there's made with unity site shows a lot of the cooler things have been made with unity like cuphead one of my favorites so just search for made with unity and you'll see it's actually like a unity official site what are your thoughts on havok physic's in unity i don't really have any thoughts on it yet I'm kind of waiting to see I know that they're working on multiple physics systems and I think we're gonna be able to swap physics systems between them some kind of curious to see what its gonna be like depending on what projects I'm building we'll see how that goes though let's see what do you think about a college degree I'm a software engineering student almost fourth grade but almost so bored I live game-development should I finish school okay to quit tomorrow if you're in your fourth year I said just finish it you're almost there like there's no reason not to just wrap it up starting off I don't know if it's necessarily what I would do my degree personally was in electronics and 100% useless I have used it to install car stereos for myself and I did use it a little bit to wire up my little Halloween night but nothing complicated at all and almost all of the software development that I've done has been self-taught or from learning online books and reading and Google and practice and trying and talking to people and I'd say most of the developers that I know who built games are in that same boat almost nobody I've met who works on games actually has like a like a game development degree some of them have software degrees I'd say probably maybe a quarter or less and some of them have very similar degrees where they're like they've worked on you know like math or some physics or something where they thought it was kind of interesting but they're also big video game nerds and they wanted to get into video game development and then they found that hey you know when I'm good at these things I'm also good at programming I would say that you generally don't necessarily need a degree to get a job as game developer but if you're already that close like just finish the thing and it doesn't hurt right it also gives you a good fallback if you have a hard time finding a game development job in the area the degree can actually make quite a bit of a difference at some other non game companies like when I was at Qualcomm degrees were huge like your pay was based a lot on your degree if you got an extra degree you got more money in game companies don't even look at them I've never looked at anybody's degree because I always know that it's almost never going to be relevant like somebody knowing some software engineering fundamentals doesn't tell me whether or not they're going to be a good game developer it could tell me whether or not they're going to be good at certain little parts but there's a whole lot more to it than what you're gonna learn in school I mean building games is by far the best way to get good at it so just build things build things a lot and really just start applying for stuff right away I find a lot of people get scared to go look for jobs that are afraid that they're gonna get denied or rejected but if you don't go out there and get denied and rejected you're not gonna know what you need to work on when you go out there and you don't get a job you need to find out why talk to people and if you find that it's not going well and you realize it's not going well don't get sad or upset just say hey like I get the sense this isn't going well can you just tell me like what I could be doing better or what things I should focus on so that next time it goes better or if you don't get the job a lot of time when you don't get the job people will just kind of drop you and they don't really respond and let you know but sometimes people will actually let you know exactly what the problems were where they found your skills lacking and stuff and then you can work on those also just practicing for interviews reading up about interview questions and the whole interview process a lot before you go in can be really helpful so I'd say start applying and stuff and I've been talking about this one way too long so I'm going to bounce to the next one what would you say the biggest difference is in workflow between the way you do things in unreal and unity I don't know if I could answer that anymore because I when I used unreal it was quite a bit different and I haven't really used unreal for outside of just playing around a little bit so I'm not really sure before it was very very different now I don't know sorry what's your stance on current options for network engines this is one we talked about a little bit earlier Gina is what we're using right now and I'm gonna do some research into some of the existing solutions that are out there that are quite a few that I haven't used slightly I've used photon I've used bolt I liked them both they worked okay the licensing models were the only issue that I ran into just cost-wise I wanted to try out this mirror one I've got a note to do a video on it so I'll let you know once that's done how would you move a hundred enemy sprites differently at the same time if it's only a hundred sprites I just have them well MA it depends you're gonna want to have independent movement control so that they're moving themselves but you may want to have something at a higher level that's controlling what they're rules are and saying where they should be going what they should be doing in relation to each other and probably even down to squads or groups of them I'm not really sure though without very specific details on the scenario I'm a student looking to build my future I love making games in programming but I'm not sure if games can help me live the life I want should I spend more time in this industry getting killed by Triple A games can definitely help you live the life you want I mean you can make a ton of money working in game development I know sometimes people get the impression that you can't or that game development doesn't pay as well and I told people this before like in the beginning when you're starting off as a junior developer game development jobs tend to be a bit lower paying probably like 20 to 25 percent less they also tend to be about a hundred percent more fun and entertaining and you tend to feel like going to work and that's I'd say a big payoff given something that people under value when you're going to work on something that's boring it can be draining exhausting and you know it's not worth it's not as exciting and you like hey I want to quit this job I want to find a new job and it's very easy to hate it and it's also very hard to grow in a lot of other development jobs because you'll be working on a very specific problem for a very specific company and if you're if you're not doing something that's web-based or something that's really commonly used using very common libraries then it can be hard to transfer those skills when you're doing game stuff as long as you're not working in custom engines you're working in unreal or unity um it's pretty easy to transfer those skills over Plus as you get a little bit more experience you're going to start to see that the pay level I'd say levels out and then I've I mean be honest like I know a lot of game developers who make more than most of the non game developers that I know and that's just a side effect of them being in it for a long time building up those skills and loving it also it's pretty easy to find a remote work as a game developer now especially as smaller indie Studios because they don't want to have to have the costs of bringing people in and they want to be able to hire all across the world in the country and not have to worry about it so much I found that that's way less the case outside of game development and I think it's mostly just because of the types of people that you're interacting with when you're interacting with people who want to do game development they're used to the idea of a lot of things being remote they're also used to the idea of people working on computers all the time where you go into a regular company that's doing health care or something there are doctors and all these other people that have to be there every day and they're very used to that and getting that as a remote position is a lot harder and if you work remote and you're working games it's freaking awesome ok I'm trying to understand the role of processors say a damaged processor what should it be responsible for calling processors um right so it should so you've got like a I deal damage and I take damage in here as the example when we switch to desktop mode real quick and so he's got damaged processor I deal damage and I take damage so that in that case it would be I would assume that this damaged processor would be reading the amount of damage that's the thing that can deal damage does perhaps the type of damage that does may be its fire damage or cold or slashing or whatever maybe it's a gun damage and then it's also looking at modifiers on the thing that could deal damage like maybe he's got some buff that doubles as damage temporaries got a powerup that buff doubles is damaged and this is where you'd want to be looking at that kind of substitute say hey I deal damage do you have any power-ups look at your power-ups and then figure out what the total initial damages and then you got the I take damage thing and say hey do you have any buffs that reduce damage what's your armor or whatever other thing that it is that you're dealing with and the damage process would be responsible for taking all of that information and calculating it out and then applying the damage to the thing that takes damage now the taking damage part might just be like a take damage method on it that says how much the total is but the processor is figuring out how much of that damage to deal and then maybe also firing off other events like saying hey this thing was damaged so anything that cares about that like a UI or some text pop-ups or whatever go do your thing and you do that generally through some sort of events or signaling system let's see it go back to camera I have a ship with a Collider on the parent the ship is this is the hull of the ship I have a child of the object which has another Collider this is a ship shields when the shields get hit the hull takes damage I know this is intended by unity zone or another way around so I would split these on two separate layers I think what you need to do there is have those be on separate layers have them not collide with each other on those physics layers and then have the the shield just on the outside taking the damage and not the hull I'm not sure if that really answers the question but I think that that's the way to start at least see I'm struggling with damage system with bullets no ray Castor's firing out bullets that are projectiles question is about architecture to use there's some best practice instant solutions or books so usually with bullets you're still gonna want to be doing some recasts and that's just because moving the game objects so fast is not gonna work as well just visit twice you want to be doing ray casts even if you're moving the object you might want to be doing a ray cast from the previous position to the current position constantly to find of the things that it's hitting of course a lot of the time yeah you just want to do yeah I think you probably should be doing ray cast especially if you're firing off a ton of them and then perhaps using particles to render the bullets or you could have a pooled set of bullets that are flying out it just depends on how many things you're firing off to but you're still probably going to want to be using ray casts in addition to moving a game object if that's what you're doing any suggestions on services for simple connected experiences like cross-platform leaderboards I don't know if I have any so cross-platform leaderboards I've done them before it's been a long time usually what I end up doing or when it ended up doing before was doing separate leaderboards for like ios and android assuming you're talking about mobile and just using the built in stuff for it i don't know what a good option is now for it though it's been way too long since I needed to do that how dynamic render system for a 2-d game in unity so that only the sprites in the camera range get rendered um I don't know how to answer that one sorry should I spend time learning VR or continue learning general game development that depends dramatically if you have VR job opportunities do the VR stuff if you're primarily just looking for general game stuff then look for general game development stuff first and figure that out there are some VR jobs out there that definitely exist there are way more non VR jobs out there though I mean there are a lot of VR jobs out there don't get me wrong but there's still gonna be like a hundred the one on the regular jobs if you're interested in non game stuff there are a ton of non game VR things I got a couple emails just in the last day or two about non game VR stuff that people are working on so I would say learning VR isn't to separate from learning general game development either the general stuff is going to apply no matter what to your VR related things the VR stuff isn't too much of an addition on top of it there are a couple things that matter when you're talking about performance and the input reading and rendering is a tiny bit different but overall learning general stuff about just building games game architecture code and all of the other systems that are built in built into the engine probably more important let's see next up hi Jason can you make videos on game design basic core principles um yes I'm definitely not the best at it so I actually have plans to pull in a pro game designer who's really good who can kind of help with that and give some I'd say better advice than I could on actual game design I can make the games work I can make them do what the game designers want making them fun is it's a lot harder and that's I think you know harder for me easier for other people and it's probably the inverse for for game designers to get a little bit mixed up on the code but they're they got all these crazy ideas on how to make things fun and they see something that's not fun and they recognize it and realize the good game designers that's what they do there they say hey this isn't fun it's not fun because of this I know why and I have an idea for how to solve it so yeah I'll even get them in soon I've got a two guys in mind that I want to talk to you about it so see if I can get either one of them sometime real soon if you can list now or as a written document a list of things the unity programmer should know from beginner to advanced that would help a lot of beginner enorme be a programmer stay on the path yeah so there's a video that I did it's pinned on the channel the top mistakes I made in unity that one's actually got quite a few of the things that I think are pretty important at least at the beginner level and then I have another video that's coming out probably this weekend that's on building more big / advanced stuff so if you're interested in that definitely just watch for the video it'll be up sometime soon make sure you're subscribed and everything I see a messages on there should you use the unity analytics um I just wanted to mention we we use unity on Linux for servers so like our game servers running Linux I've never tried developing in Linux on unity and I don't think that I would recommend it I would say you know ideally you probably want to be in Windows if you're doing Unity game development but for servers Linux is a good way to go because it's just way cheaper especially if you need to have a lot of servers do you use a terrain generator for massive open world creation I do not I think recently we've been looking a lot at using Houdini and I think that that might be a really good option I just haven't needed to generate massive open worlds it tends to be something that the designers do and the artists do not so much a programmer thing I played with them played with like Gaia and a couple others but it's just not a thing that's normal tasks for a programmer you know helping getting getting a set up so that they can do it though is definitely a thing for programmer so getting Houdini working set up for designers it's much more I guess it's more of like a art pipeline slash graphics programmer type thing not something that I've had to do lately at all have you tested Godot with c-sharp I have not I've heard a lot about go doubt a lot of people ask about it it just hasn't been something that I've had any real need or drive to do I may have just spent a day playing around with it and what's cool about it and why people love it so much I'm sure I won't make a switch or anything so it's just been really low priority any tips for a beginner so you learn unity fast yeah I mentioned some of those just a little while ago so just bounce back and you should see them and unreal or unity obviously unity I've did a whole video about why best advice for beginners I think answer that let's see somebody's asking about tutorials for my sequel and unity I don't know of any but doing general sequel stuff in unity or even my sequel stuff in unity isn't really any different than just doing it in c-sharp so if you just look for c-sharp my sequel or if you sorry reading chat if you look for c-sharp my sequel or c-sharp sequel server you'll see the all of the videos and just tutorials out there the code isn't any different so you can just use that stuff where can I find people to give me in-depth quality oh but when you're doing that sorry make sure that you're not looking at dotnet core stuff because that will be different and there may be new video new videos and articles about dotnet core with those sequel servers so make sure that you're looking at just regular dotnet dotnet 4 or 6 or 4 or 5 whatever it is also can we get a couple more likes to get over 200 real quick I'm gonna finish off these questions and then I gotta get into some calls and get some stuff done so where can I find people give me in depth quality feedback on my game without making it public um is there a place to pay people for this I don't know if you can pay people for them and I don't know if you pay them if you're gonna get quality feedback I would definitely recommend just making it public and letting people get in there and play it I think a lot of people kind of fear people seeing their stuff too early and it never really helps there are very very very very few situations where keeping your game secret is gonna help and I'd say if you're just building a game it's probably not not a good idea I would just make it more public let other people play it go post on reddit or somewhere else and let people get in there and give honest feedback because if you pay them they're gonna be inclined to make you happy if you there are people you know they're going to be inclined you happy they're gonna lie to you don't don't ask your friends family or whatever because they're just it's really hard to get honest feedback ask strangers I also have an architecture meet up on Meetup you can check that out and come share it over there I'm sure people would love to just give you some feedback there are a couple guys who've been working on things and we talk about their games all the time and just give them feedback on it so that's another good spot but I would say try to make a public post to Reddit or something maybe just make a public build that's available for a while or something and do that speed up please yep and going fast why don't you make tutorials I do sometimes I just haven't done a whole lot and it's mostly just because it's got to be tutorials that enough people are interested in so try to make tutorials for different types of game so I'll probably do a couple more beginner tutorials sometime soon to show how to recreate some other games cuz I find those to be fun and interesting to build I couldn't like your video because it turns out on my own phone turns out you have to edit chat and exit okay that's interesting thank you for going back and hitting like though if you plan to build a WebGL game is it enough to use rest for off actions with rest I don't know I haven't built a WebGL game personally I'm not sure Rocko would know I would say ask Rocko from samurai oh just send him an email and ask him all about it and he'll probably give you a really good answer are there are many ways to do the same thing why are there many ways to do the same thing for example an object's transform position rigidbody character controller animations is it more optimal to use only one of them when it doesn't matter the main reason is that there are all kinds of different use case scenarios there are different reasons that you would want to move things with the transform versus rigidbody you may not want to have a rigidbody if you don't want your object interacting with physics you just have something moving by you're just going to move the transform position if you wanted to interacting with physics you're gonna use the rigidbody or perhaps the character controller if you're using something that really fits into a character controller situation animation based movement is a little bit different that's using like root motion stuff I don't see that very often in games and it's I think mostly because it's not really necessary and it's a bit harder to work with but there are some games where it really makes sense and a lot of it is also just the way you want it to feel do you want to if it's a more slow-paced thing where it's all about the animations the root motion stuff is usually the way to go that's what I see people do a lot for really snappy fast movements that's not really the solution so it depends a lot on just what kind of a game you're building and what the scenario is for that specific object that you're moving around what do you think about unity on Linux I think I saw that flyby and chat is by the way that's why I've got this um this up here so that I can see the messages cuz chat flies by just too fast for me to keep up unity on Linux I said use it just for servers so we host servers on Linux in unity or unity built servers on Linux it's a little bit of extra work to get it working right and you need to understand Linux a bit but it's a little bit cheaper if you're going to a big scale I wouldn't worry about it early on unless you've got a game where you're gonna be spinning up tender servers what's your opinion on considering everything as a buff in an MMORPG can architecture basically considering a buff anything that affects stats for example damages a buff equipped items or a passive buff healing as a buff um I don't think I would go that far so I wouldn't make damage into a buff necessarily I was a damaged of something that should integrate with a separate system that controls your stats buffs should be able to control and interact with things but they shouldn't necessarily like it shouldn't be controlling the actual stats itself like you shouldn't be looking at all of your buffs to figure out what your stats are you should have some other stats based system that's controlling those stats and then the buffs are modifying those stats you know based on what's going on with the buff same with equipped items and stuff I don't think I would allow for equipped items to have passive buff so that you equip an item and a buff applies and that does something and does a lot of the more complicated stuff like I wouldn't put effects onto items where it's like hey when you have this item on it does this thing like it could give stats but that's about it or give them stats and procs and buffs but that's all but yeah damages a buff and healing as a buff doesn't make a lot of sense to me and I think it probably over complicates things a little bit and makes it a little bit too confusing so I'd say split them out have separate systems for stats items and AM buffs and I mean really health can be a stat right it's just a health is basically a pool of health you have zero to whatever your max is and then that max can change and you have things that can modify that pool value or the pool max and then you can use that same system for mana whatever other things all of your stats or all of your pools can be related or have similar systems that can all interact the same all of your stats can just be read by other systems like buffs and damage applicators or damage damage processors yeah hopefully that answered it how do you be a call a 2.5 D game camera hiding close up objects like a tree that hides the player how do you identify the tree being too close and hide it from the player so a couple of things you can do you could just Ray cast directly into it and find it but another option would be just using if you happen to be using cinema sheen that's got a built-in I forget what the thing is there's a little add-on button that you press and it adds and it'll automatically detect the close objects I think I did a little third-person shooter example and it shows how to use that little component and there if you happen to be using cinema sheen cuz then it'll just pull it in automatically and you don't even have to write the code I'm a beginner with unity now that unreal has mega scans for free I feel like I should move to it what are your thoughts and do you think you haven't unity will have an answer to mega scans I mean are you gonna use mega scans is that a big if it's a big part of your game and it's something that you definitely need for your game maybe but I don't think that it's a reason to switch engines it's there's a lot to engine selection yeah what free things come with it and generally it's even the costs are probably at the low level of the stuff that I care about and I look at what's best for building the type of game that you want to build so if you're not sure I did a video about why I switch to unity but I also talked a bit about some of the things that unreal was better at and still better at like built-in networking systems right now so I'd say don't make your solution or your decision based on what they've done recently for free just look more at what makes sense for the type of game that you want actually have you used do tween much coming from GSA P and web I love it but doesn't feel like perfect code based animation system yeah or dot tween I think this is doing yeah I've used it quite a bit I don't use it as often anymore just because I don't end up doing a lot of UI animation or a lot of little animation like that anymore but when I do need to do that it's great for it it simplifies things it's of course not the most performant it's not the best code but it works really easy and it makes it fast and easy to do those things I would say definitely use it until you have unless you have a specific problem stopping you from using it but yeah I use it I know a lot of people who really love it too for a beginner which platform should be the target of my game depends a lot on the game I would usually I'd start with just Windows or PC or just desktop otherwise you end up having to deal with all of the different issues for specific platforms and those can be a little bit frustrating and a little bit of yeah not fun so I'd say work on desktop first it's what I what I would recommend and then you can probably just do a deployment out to WebGL or mobile if you haven't complicated your game too much but I wouldn't necessarily focus on those first unless you want to just build a simple mobile game building a very simple like Android game is not hard at all and maybe a good spot but I wouldn't do it for the first thing how would you say it's better to make multiplayer game to use ready frameworks like photon mirror or back-end work like nodejs if it's real time multiplayer use one of the systems you want to be using UDP ideally if it's if you really have a specific use for writing your own stuff too you could may write write a custom server back-end I wouldn't necessarily do that unless you really need it or you're doing something that's maybe turn-based where you're just sending back rest requests instead but for if you want to just like in game real time multiplayer where things are moving around and stuff I'd say start with something like photon or mirror one of those existing systems that makes it easy to get going and then worry about the problems later I mean even in our big EMA most the existing that you know the first version was in photon and the second version was in something else and I was in ulink and then it's finally moving over to the more the the better system and really it's about getting it working first getting it out there and actually building a game and then worrying about optimizing along the way as long as you keep your stuff clean it's not too difficult to actually swap these things out and just do big reef actors that rename and clean things up and should I be aware of dots when learning unity from scratch no if you're just learning unity I would say you don't need to really think about dots or anything else it's still changing it's still updating and it's not necessary to get started it's something you only need for very specific use cases right now and by the time you use it it will probably be dramatically different all right I think I just hit all of the questions that was 64 out of 64 what approach would you take to develop a pc only game for major all major os's um I don't know what that means if it's PC only it would be oh I'm thinking Windows only I don't know I would have just built for Windows I mean realistically I'd if you're building for PC I just target Windows 10 as the primary thing unless you happen to already have a big audience and you want to start rolling it out to other platforms you know find that the majority of your purchases if you're actually selling the game are going to be in Windows 10 and oh if you had a project where everyone knows how to code would use between over animator animations for transitions interactions etc that depends a lot if you can use animators and animations and it makes sense and it's not necessarily UI code I would probably use the animations and stuff instead but if it's UI related stuff do tween works fine too or something like a doozy UI that does a lot of that kind of built-in for you simplifies some of the tweening all right I'm getting really thirsty so I'm gonna hit these last two questions and then call it good by the way everybody hit like and share one more time so I keep asking just like see the numbers go up there more people end up watching the stuff and then we get more people in the next one more questions what's your approach to making animated ragdoll character that reacts to raycast like zombies and left for dead okay so there's actually a ragdoll generator you can use in the editor you can generate a ragdoll for your characters and then it'll give you colliders on everything and what you do is just hook up a single script so that when those body parts get hit when they take a collision you can apply force right there and have them kind of bounce back and take a hit yeah and that's it so you just do the raycast through check that collision and then apply force at that point and you can make them kind of bounce back it's actually not too hard I think I might have done a video on that on how to do the ragdolls to check on the channel I'm not sure if I did that or if I just did it in the livestream once any procedure or pointers on procedural animation systems um none that I could give right now there's lots of stuff to talk about there but I'm running out of breath and what applications gonna use to do 3d modeling most people I know you use blender or Maya I don't know I'm terrible modeler though so I just have artists do it for me most the time and now occasionally hop into blender and fix a pivot or make a small change in something but I'm terrible at 3d art so it's definitely not something I would you know recommend a specific point anyway I just want to say thanks again everybody for coming out just a lot of fun I'm gonna keep doing these randomly and I said there's a video coming out sometime this weekend on this game architecture or a game or it was on building more advanced games and some of the really important rules for that that I found super important to make things actually work and not run into problems especially when working with teams and also a bit on MMO developments like the second half of it was just me talking a lot about MMO development and also if you guys were talking in chat and asking questions sorry I did not see them they're all I've been reading well off the forum that's linked in the description and the next one just hop in and put them into the forum there it's just way is gonna show you real quick what it looks like this is somebody thought I was in or and I'm definitely not I just it goes so fast I can't see it so I just been going through these through these questions here so that's the easiest way for me to do it so I don't miss people questions anyway thanks again everybody for coming out I really do appreciate it if you guys have other questions or things just I'll be doing another stream soon or shoot me an email I try to reply to mom I think I've got like a dozen or so that I'm backlogged on right now just send me an email or drop it in here and I'll try to answer as quick as I can just to help out and I think that's it alright thanks again everybody don't forget to hit like and share the stuff and all that and subscribe whatever alright thanks
Info
Channel: Jason Weimann
Views: 7,147
Rating: undefined out of 5
Keywords:
Id: 6xp9cRnKJv4
Channel Id: undefined
Length: 95min 46sec (5746 seconds)
Published: Thu Dec 05 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.