wherever you are hello today is going to be a fun day in Thomas brushland it's a beautiful cozy rainy day right now on the east Southeast of the United States and we're going to jump inside of unity and we're going to work on optimizing my game Twisted Tower optimization is probably going to be our most important thing that we can do for the rest of the game's development uh there's only so much story and art we can add to the game and mechanics that's all pretty much done what we need is we need optimization So today we're going to be hanging out you guys are going to hang out in the chat and I'm going to probably spend a little bit more time than usual in the chat today doing Q&A and answering questions and all that stuff just because well with optimization oftentimes you spend a lot of time waiting for things to load um so that's what we're going to be spending our time on uh today um hey
wanted to say a huge huge thank you to Jeremiah G and David D um those two especially cuz those were recent new students over the weekend and today Solomon g m y e Mike B and Ethan G huge huge thank you for joining fulltime Game Dev and by the way if you guys want to join fulltime Game Dev you can get 25% off for the next 5 days it really depends on when you click the link right once you click the link it's going to generate a a coupon code specifically for you and that coupon code will last for 5 days I don't want an infinite amount of coupon codes lasting in perpetuity forever and ever so it's going to generate one just for you for 5 days um so you're going to get 25% off full-time Game Dev I I think I have more than it's got to be closer to 5,000 students at this point but 4500 students worldwide is what I usually say it's probably more though 4,500 students worldwide and look if you want to not only learn how to make games in gdau unreal Unity you name it uh whether it's
2D or 3D you could take your pick you don't have to learn every engine you can just learn one just pick whichever one in the program you're also going to learn um how to actually Market your game hit the steam front page how to build an audience build a brand build a social media presence like I've done um you're going to learn how to secure funding from Publishers secure funding from Kickstarter uh how to hit the steam front page and the big question is why listen to Thomas who is this guy is this a snake oil salesman is this a shill um well some people think so but the truth is is that I've done all of this multiple times and I'm currently published by 3D Realms um for my game Twisted Tower so look I've done the publishing thing I've done the kickstarter thing I've hit the steam front page I I've made plenty of money off of game sales and Publishing deals and platform deals and the like I've got a nice what what do you call it I've got a nice I've got experience so click the link below and joined 4500 students uh
you can see here Chris stair went fulltime Bart mser went fulltime everlux went full-time uh sutar Antonio Thomas plenty of great reviews here so check it out all right let's jump into hey oh forgot to mention um what is this uh let's see here one final thing and then I'll shut up I try and Shout this out as well if you don't want to join the course totally understand there's also a free webinar below teaches you how to make $100,000 with a demo look guys with both of these things I'm promoting it would be so stupid of me to overpromise I'm not promising a thing I'm just telling you what I've done and what plenty of other indie game developers are doing I'm just going to show you the ropes show you how it's done and this is a free webinar below so click the link below to learn how to turn a demo into six figures it's totally possible no promises but I'm just telling you what I've done so click the link below check it out let's jump inside of unity and get started all righty all right righty Mark
Sylvester says big fan of yours man watched a whole bunch keep up the good work awesome thank you thank you thank you I'm going to take a look at the chat here let me pull it out wow that's weird um let me pull the chat out of my browser that's what I mean and put it on that monitor there um why isn't it loading let me see here guys I'm getting weird stuff today whole bunch weird stuff with the internet today it's super duper slow but for some reason I'm able to stream just fine it's just like Twitter isn't even running loading I'm not sure why okay chat is here rizzler says I love games real unreal says can I play after I've gotten the 100,000 oh can I pay after I've gotten the 100K what um hope everything having a great day as what AST artist says all right so the first
thing we're going to do today guys this is something that's going to really help you when you're I'm I'm in the middle of learning how to optimize which is hilarious because the game is done and yet here I am trying to optimize it which is like you probably should have done that at the beginning Thomas um I saw a YouTube video just now saying gaming industry is dying is that true that's from rizzler uh yes and no I mean it's kind of like anything in order for something to change it has to die um I'm just speaking out of my butt right now um but it's it's based off of my gut I think everyone is like it's so funny people get frustrated and mad about AI they get mad about Claude they get mad about uh um by the way I just started using GitHub co-pilot and it's awesome um they get mad about that stuff they get mad about air which I don't like a
either but look it's it's just the way it is guys this is it this is our future you know and we've got to adapt and figure out how this fits into Game Dev and um my inclination is um man I I would I hate to say this because I don't believe this always but I think in the with AI a rising tide lifts All Ships I don't know I might be wrong but that's where my gut is all right let's go to our um and I'll answer some more questions here analysis project auditor baby and several of you have mentioned this to me including Jason's Story and plenty of people on Twitter but let's go ahead and click Start analysis last time I did this it crashed but what this does is it just basically looks for red flags in your project whether it's in your code and this might be uh GPU stuff but it might also be Memory stuff
um so loading and crashing and assets being way too bloated so it's going to analyze here but let's take a look at the chat what else we got oh I want to add my chat box to full screen actually hang on there we go this is cool it looks like I'm looking at it doesn't it um if it is done when have you plan to release it well I can't tell you that we got a marketing plan for that um yeah yes you can use visual scripting Jason um never optimize at the start so you're good yeah is that what dererk you're saying you never optimize at the start I mean we just sort of went with it my theory was how bad can it get but then again the game became a sort of a double A looking game so you know we have some optimization stuff I will say the majority of the the complaints of the negative reviews of the Twisted Tower demo
our optimization but we're still at like 91% I think or maybe 90% positive and so I'm like worst case scenario we just can't optimize and we end up with a very positive score because of that now that's assuming a lot assuming the the rest of the game is any good um but look if you if you here's the rule is if if your demo is pretty good as long as you extend that demo and give them kind of what they've been given already and just expand on a little bit I think I think you're solid we'll see I could be wrong uh you said I'm assuming I'm assuming you don't uh what did you say I don't assume you're planning a Mac build anytime soon no no Mac builds it's just not going to run it's not g to run probably not uh optimization this is from Adam optimization is something the upkeep as you go something to upkeep as you go and fine-tune hardest at the end
project Patty says good morning any tips for 2D games yeah um make sure it looks different than other 2D games you know Thomas what is your take on Vibe coding this is from Gan and Jean thank you for the money I'm going to use that money to buy myself everything I ever wanted thank you so much um let's see here let's look up Vibe coding what is Vibe coding Thomas you're irrelevant I know Vibe coding sometimes spelled Vibe coding uh let's see what what does Wikipedia say is an AI dependent computer programming practice where a programmer describes a problem in a few sentences as a prop to a large language model tuned for coding software is quickly created and debugged while ignoring the details Vibe coding is claimed by its Advocates to allow even amateur programmers to produce software without the extensive training skills which coding Pro previously needed the term I think it's definitely um going to
cause software to become increasingly bloated I think it's the future and so I think I don't see how it's kind of like the federal government it's like how do you get how do you stop it from ballooning and and the answer is it just pops that's the only way to stop it and so when it comes to software and games getting more and more bloated and just disgusting and the code being awful and I'm guilty of this by by the way the the um I think the solution is it just you just wait for the industry to pop it becomes completely unmanageable and so my theory is is Hardware is Hardware is going to have to keep up with bad software and so the end result is just a ballooning energy infrastructure to support terrible software and Ai and
then crypto and then you know crypto mining um and then digital assets like it's just going to be this massive ballooning energy cyclone and it's all based on this uh logarithmic bad software created from this kind of stuff I don't like it it's going to happen and I'm probably going to participate you'll see me participate today in in portions of coding look having having a having a a co-pilot uh like GitHub GitHub co-pilot or claw or something which Claude is part of GitHub Co co-pilot but having Claude or chat GPT or grock with you it's like it's like cars it's like yeah sure it's probably not good for the environment but everyone's going to do it and you're probably going to do it too because you won't be able to keep up do do you think I'm do you think that
makes sense guys what I'm saying that's just my theory I have no idea honestly I have no freaking clue all right here we go we've got a PL plenty of just horrible issues with the project you can see here that the assets we can inspect our assets most of the assets my theory are going to be related to um memory and not GPU but we'll take a look here yeah it tells you look load time memory load time look at this all of the audio clips Force to Mono is not enabled in the audio clip settings and the load type is not and the load type is not streaming which implies the audio clip may be used as a diagetic positional sound effect positional effects should be mono only non diegetic music and effect should be stereo click Force to monoch check in the audio clip import
settings oh guys okay so here's what we need to do let's ask Claude really quick I'm gonna ask Claude A a question which is look is there any and I want to ask you guys this too is there any value let's do a new one here start a new chat is there any value in having sound effects being stereo in a 3D game my theory is no unless it's music right um right unless it's unless it's music what do you guys think should all of the sound effects in in Twisted Tower be mono except for uh 3D sounds except for music do we
agree with that sorry I'm texting somebody all right um yes in sound engines cuz we can use single clip with two channels for two effects what no sounds shouldn't be mono why not why not look if sounds are 3D why do they need to be why do they need to be stereo no that's not true mark
I don't agree Mark I don't I don't know if I agree with you buddy let's see here stereo for position no it it puts it on left and right even if it's mono let's ask Twitter actually I'm gonna ask Jason let me ask Jason J Jason Smith the legendary creator of cultic we're going to ask him I don't how are they 3D if it's mono because all it is is okay so 3D the way it works is it's just going to decide where to pan the mono to based on your position it doesn't matter you don't get spatial awareness if you're in mono yes you do um yeah I'm sorry I'm being really blunt you you guys might be right I have no idea you could still you could still still
pan a monot track yes why is Discord and Twitter just awful today like you try and get on Twitter and it just freezes the whole look it's crazy you get on Twitter and the whole my whole PC starts to shudder Discord I can't even maximize it for some reason okay let me ask uh that's so weird I can't even use Discord let me te let me message him on my phone yeah let's let's figure this out apparently oh yeah I got rid of Discord because I was addicted to it it's still stereo yeah you don't like you don't want look look at what Unity said look at what Unity said hang on Unity says the audio Source look at this the audio Source asset is in Stereo Force to Mono is not enabled in the audio clip
import settings and the load type is not streaming which implies the audio clip may be used as a diagetic positional sound effect positional what does that mean uh positional effect should be mono see 3D 3D sounds is mono positional effects should be mono only non let's figure out what non diagetic means what is a ntic sound sound in unity diagetic sound is a sound that exists within the world of experience everything from character speaking to the ambient sounds of the environment they're in non diagetic is anything on top of the experience music okay so let's write that down so I don't forget non diagetic equals music Ambience okay that's all that means therefore what Unity is saying
here let's see here what Unity is saying to me is basically implies the audio clip may be used as a diagetic positional sound effect positional effects should be mono only non diagetic music and effects should be stereo bang boom B Bing Bong what that means guys is if it's 3D in your game it does not need to be stereo that's insane there's no point why because we're taking a mono sound and we're panning it left or right depending on the player's position so we're going to change all of our sound effects except for Ambience and music so all of these sound effects here and watch this if I press alt and collapse it I can grab them all and just drag all the way down
even two voice over should be that should be stereo um I'm going to grab all this and then Unity is going to allow me to select just the audio and I'm going to force it to mono and set it to streaming uh let's see here how do I force it oh there we go Force to Mono set that to True normalize heck no do not when this flag set audio will be normalized upon no do not normalize it um ambic whatever that means streaming I don't know where streaming is but let's hit apply here this is going to take like 10 minutes don't do it to your UI and vo UI is so simple I don't mind it being mono and in fact I think a lot most of these sounds are already mono um
um yeah most of these sounds are mono anyway jumping you think jumping that's yeah that's probably diagetic you're right um we'll go back to those we'll go to the player movement sounds and the UI sounds okay spectrum of sound says I'm a sound designer what's the issue we're using uh Unity auditor right now to determine how there's blo in this project and unity auditor is recommending that we change anything that's diagetic uh to be mono and anything that's non diagetic to be stereo and basically I guess that means if it's a 3D audio Source in the game it's needs to be mono anything else will be stereo so actually there's there's something to be said here about gun sounds so let's let's let's go to all of our gun sounds we're going to make our gun sound stereo we're going to make our player movement sound sounds stereo we're going to make our uh footstep
sounds stereo um we're going to make UI sounds stereo but I'm going just going to do them all in batch and then we'll go and sort of Peace meal grab the ones uh all aart style people treat mono like it's scary or inferior when it isn't I mean that's my theory cuz like I'm I'm looking at most of these sounds and it's like most of the sounds the left and right channels are identical there's not much going on and so it's like if they're both identical just make a mono you can call it a day am I wrong spectrum of sounds if both channels are the same What's the de what's the issue here um so I may not even worry about the jump sounds to be honest um be careful if you convert stereo to Mono it could change the volume of the sounds yeah could
well okay it's one thing to have sounds be spatial in the engine it's another thing to have them be spatial in the actual file format um yeah so we've got some sounds like this one here these are all these are all getting compressed down to Mono now um it may make the the project feel like muted kind of I don't know the right word just not as immersive um you know I don't know if it's as simple as this to be honest with [Music] you let's hear if there's a if it sounds any different Center play mode
I've got pretty good speakers going on right now the ambience is all spatial let's turn on headphones oh [Music]
hey if it isn't tiny Martin you here guys I mean we're still going to get spatial sound like she's on my left now now she's on my right but that's still you know that's mono still so the the file format itself so I mean obviously you know if you have a mono sound playing from a 3D audio Source it's going to be spatial and that's why Unity is recommending to do that yeah it sounds fine to me I think it's because most of the sounds were pretty much identical on the left and right channel anyway
I'm tempted to do a push and then go back let's let's grab all these and go back in time okay we're not going to force to mono and let's hear it out let's hear it uh when they're not forced to Mono my theory is it's going to sound identical these sounds though definitely don't want to change these to mono these These are great sounds and they're super important so I'm going to keep these and they're also not being uh played from a 3D audio source so I'm going to apply that really quick to the um gun sounds [Music]
player sounds yeah let's let's make these uh let's see if these are actually Stereo by default they're not they're Mono by default so who cares um all right the ambience though all of the ambient sounds these need to be yes yes all of these need to be definitely not forc a mono um but we're just going to I'm going to push really quick I'm going to p no it's going to take forever we're not going to push we're going to take a risk here so let's hear it without um being forced to Mono again this will take a while I can answer any questions you guys have yes I agree D Sabbath if the left and right channels are very similar they should be mono you still keep your spatial spatiality yes you do um if a mono sound
has a position in space it doesn't need to be stereo yeah that's what Unity is recommending um they're basically saying look if this is going to be a 3D sound it makes zero sense it makes zero sense because look a stereo sound is two-dimensional it's not three-dimensional okay so that's why it doesn't work it has to be I'm just spitballing here but look if you've got a left and right channel you don't have an up and down Channel you don't have a forward and back channel so Unity has to put it uh uh has to make it mono in the end in a 3D audio Source it's the only way it's the only way it's going to work so it has to be placed in a position and all it is is its volume is determined by the magnitude of the distance of the player that's basically it you'd call it the
hypotenuse the three-dimensional hypotenuse how do you get the how do you get the hypotenuse of a three-dimensional triangle because that's what magnitude is right um I'm trying this is from ra I'm trying to develop a level in my 3D game and it is hard AF did I do the level design I gave level design Direction and like rules to follow um but fipy he was amazing he just he just did these by from scratch he didn't even plan it out really like I gave him like I need three keys and I need some levers here and I need some valves here and a puzzle there and he would just build it from scratch he he did so good uh but it's very hard um you know you're asking for any tips the only thing I can give you is number one I can give you some rules really quick guys for level design uh while this loads number one when it
comes to level design number One never put the solution before the problem duh you think it was it was pretty straightforward right to know that and if you don't know what I'm saying right now then it's not duh a lot of you might go oh never put the solution before the problem give the problem first and then let them find the solution otherwise there's no payoff right um so for example never put a key before a locked door and you might be thinking why would you ever do that well sometimes when it comes to level design especially especially at the beginning of a game what you want to do is you want to make sure that you almost Force the player to encounter the problem like a locked door before anything else right I'll I'll move on the other ones but let's hit play here and take a
look what the hell happened to here it kind of sounds better and I think it's because of the gun sounds um all of those were mono um like okay let's compare channels here that Channel's identical all of these are identical I'm looking at the waveform here guys look at all these
channels they're all identical if they're identical what's the point right what's the point of being that one wasn't identical that felt really good but that's going to be a spatial sound yeah you don't want you you don't want that to be stereo because that's going to be coming from a c certain location that's going that's that's 3D as well you know I don't know if I would want left and right to be Spa it to be different for any of these sounds except for the guns you know maybe jump scare yep okay we're going to we're going to scrub through these the guns I don't mind those being
spatial um yeah those are fine I guess but uh all of this stuff here I'm going to I'm going to have to eyeball these man the ambience one definitely not I mean really though does this really matter look what what happens to the file size seriously what happens to the file size when I force to Mono that's 1.5 megabytes let's just check here nothing nothing literally nothing happens to the file size wait imported size
251 47 oh my goodness wow okay we're getting a a what is that something like is that like 10% of what it was let's double check 253 now it's 47 wow yeah that's something like 10% of its original file size right so I feel like what we need to do is let's let's listen to the difference okay this is fun guys let's listen that's stereo big difference big difference yeah we're not going to do this there's a big difference there what about this one yeah we just really need to be we need to have a a strong understanding of what's being played from 2D and what's
being played from 3D and the problem with that is I got to go through every single one to be absolutely freaking sure or else the game is going to feel muted it's going to feel like I'm underwater sometimes um so I don't really care to be completely honest I don't really care um because file size isn't really our problem so we're going to go back to project auditor and tell it to screw itself so what did we learn what did we learn in this whole thing um we learned that to what was your name there was someone in the in the chat who was an audio engineer when you combine and create make make a sound effects mono if if they are not 3D and they're just being played from a 2d audio Source
they are actually going to reduce in volume which is interesting to me I don't know why you you're going to have a much Fuller sound with stereo but it only matters with 2D uh sound sources yeah 20% whatever it's like whatever um Thomas when you switch to Mono you need to bump the volume up three de bytes to be comparable to perceive loud yeah that's what I I think you're 100% correct and I didn't realize that that's awesome Mike Jimmy really cool got 10,000 total likes on on Reddit of all places if you want to get completely dog piled go to Reddit but Mike Jimmy did amazing I've done well on Reddit before but I've also gotten dog piled and banned um from certain subreddits uh yeah I my suggestion is to stay if you're towards the end of development and you're not quite sure which sounds are being used in 2D or 3D because we
like it varies sometimes I use one sound effect in 2D a 2d audio Source like a gun shooting it's like that's that's a 2d audio Source it's not like it matters that it's 3D so I'm going to make it 2D but that gunshot sound might come out of an enemy and that enemy is 3D so it's like okay well it's both so do I want to go through the project and just to reduce these moderate file size issues and I'm like no let's take a look at our textures here we have some issues with our Sky boxes we got a lot of issues here but I'm not sure what the issue is is what it's saying the issue is let's see here let's go to our top 10 issues in our summary here object name okay so it's code issues instantiates being used big problem um an empty monob Behavior message handling method awake star update will be included in a build and
executed even if it's empty every message handling method on every instance of a mono Behavior takes a small of CPU time remove any mono Behavior methods oh I don't know where those are though okay we we we'll look get components of children look it's like I don't know what else I'm supposed to tell you here that that sometimes I need to use that system link 45 items what's this one here here right what's that big one inspect array Ray allocation let's go to severity here okay boxing allocation major conversion from value type ooh so we got a few major issues tuni colors Pro demo we don't even use that so that's not a problem um so looks like the weapon
wheel is converting an integer it's converting to int 32 I don't know what's going on with unity right now but um by the way those you just joining us if you want to support the channel check out the sponsor below which is myself I sponsor my own vide sometimes check out fulltime Game Dev below if you want to join 4,500 students worldwide and learn not only how to get funded for your game take your demo and actually get it funded on Kickstarter or with Publishers but also just how to Market your game and get press coverage and hit the steam front page which I've done multiple times all of this stuff um look I can't make any promises but I can tell you what I've done and I think it'll help you a ton on your Game Dev Journey if you want to be an indie game developer it's it's a rough road it's tough but look if you want to learn check out the course below 25% off it's going to last for 5 days depending on when you click that link okay oh you also learn how to make games obviously Unity gdau unreal 2D and 3D all
right let's see here AAA means you got 100 million do you have 100 million no I'm not Triple A um oh you talking to somebody else sorry sorry oh you want to make 100 million yeah that yes I agree you you were talking you you will go to you two um why is this a major memory issue what's this solution try avoid boxing when possible create methods and apis that cannot that can't accept value types well let's open this up in the weapon wheel and I'm going to ask Claude here I want to clear this okay okay um Unity unity's project auditor just told me that using
boxing in this script is a problem for example converting a value type int 32 to reference type can you rewrite this script can you clean up this script so this is no longer an issue all right because I don't know what what to do there sure I'll address the issues you mentioned and also clean up the script to avoid boxing um hopefully Claude tells us what he did as well uh this is $10 a month yeah GitHub co-pilot at least that's what I'm
spending I don't know if that's what you guys spend on it but that's what I'm spending on it is it worth it yeah I think so for me removed int orid sorting order as it was never used removed the unused exception variable e in the catch blocks replace the use of math round to int and math floor to int with int to avoid boxing used VAR for local variables where rate to avoid unnecessary type conversions these changes should resolve the issue reported by the unique project under improve the performance of the avoiding boxing uh does the script do the same thing or are you being too clever like you usually are Claude I didn't ask you for that I asked you to just a yes or no yes or no yes okay all all right well let's make these changes uh or copy these changes
over to the script here and we'll we'll double check so that should fix our problem but we're going to sadly you know this is the problem with project auditor I'm not quite sure if you can just check I think yeah you can actually just check the code okay so we'll hit that uh this button over here but let's see if it uh caused some issues no um let's hit play and see if our weapon wheel still works guys at the end of the the day things are priced based on like the opportunity cost so is it worth $10 a month to most developers to pay GitHub yeah like otherwise it's hours and hours of your time or you have to hire out a developer good still works just fine this right here is
interesting um where is this code happening I'm GNA tell this is what's so great about Claude watch this um I'm going to copy this and watch this I'm going to say look I've had this ISS this is why I'm so excited about Claude I just installed it today um you could just get it to fix errors pretty quick I'm getting this error for this code what's going on can you fix it this is the new age guys this is the new age of making games sorry you know it sucks it feels gross but it's pretty amazing you know um just write the whole script so I can copy and paste it this is disgusting this is so gross now for those of you who are curious um I don't feel this is like using steroids okay it's like let's pretend you've been
working out let's do a poll here let's pretend you've been working out for 20 years of your life and you turn 42 and your testosterone levels are dropping would it be fair to say you know what let's use a little bit of testosterone let's let's get my energy levels back up let's build some muscle is that fair now health health aside is that fair is that is is that reasonable would you look at a 45-year-old man who's been working on his entire life and he's using trt and would you go that's immoral probably not but with code it's the same thing it's like I have been coding since I was 12 um and so it's like look do I really need to write all this really now for those of you who just started getting started started you need to learn to code so that this isn't confusing this might be so confusing to
some of you where it's like oh yeah I can read that when I read that script I know what it's saying generally um what did you say Jason you said just click the gear icon what did you say Jason trt doesn't affect anyone else but the person doing it kind of but it it causes social problems so like if you're 20 and you've never been working out in your life and you just start taking trt and you get bigger than everybody who's been working 10 years to do it people get pissed at you and they feel like it's unfair there's something subconsciously or innately unjust about that and it pisses people off I'm not saying it's wrong or right I'm just saying that there's social repercussions Thomas you're working for yourself and you're also not selling yourself as a great engineer so it's not a problem I
agree oh Jason I liked that that was funny actually what no idiot no idiot rewrite the entire code with your fixes there we go what I don't get it um Locate the performance scroll wheel method in your player controller class change the type parameter in the read Value method to Vector two really that's the answer wow okay so that's performance scroll wheel let's go to it um what did what did he
say float scroll value I don't see that where is it I don't get it performed scroll wheel Vector two scroll call back read value I don't get it yeah that's right okay so I just want you to rewrite the entire
performed scroll wheel function here okay here we go there we go I see I see so basically it's this right here guys uh we need to have this that should solve our problem with that error cuz that error has been driving me nuts for like I think maybe a year or two um [Laughter] so that's that's the kind of stuff I'll be honest with you there I don't know what that was I don't understand that stuff um the whole concept of callbacks I've been making games for a long time there are certain things I just don't even take the time to figure out and that's one of them I just it's just in the game and it works and I'm okay with it all right still getting an issue dang blast it
oh my goodness you broke it you broke it no thank you so Claude broke the game so this is one of the uh one of the things we're going to learn slowly about using chat or uh not chb GitHub co-pilot is sometimes it wastes your time man I wish I could figure out let's figure this out with our brains re apply processors run value through processor if any okay I'm getting an issue with line 2808 the issue
is I'm wondering if this is the same problem I don't know what's she gonna say or he G to say yeah I think it's the same the same solution there so we're not going to worry about it let's move move forward with our uh we're going to re uh analyze um the issue with our code so remember we had a code here with uh or an issue with our oh look does it automatically update I think it does so do you guys remember that issue where we were
um we were using like int 32 or whatever it was called um that issue I believe is gone so we can redo this and take a look this is cool I like project auditor auditor a lot this is brilliant this is a new way to to Dev I will I will be honest it's um I think it's all relative it's like as long as the economy grows with the use of AI were good meaning as long as the buying power of Gamers
increases and also the time they have available to play games as long as that increases pretty much proportional to the rate at which developers are producing games we're fine but that's kind of a big if the alternative is developers are able to create games significantly faster than the rate of economic growth buying power and time avail able to play games so for example if uh the West in particular if the West's buying power or time available to play games decreases due to economic turmoil but the rate of game development increases suddenly you have way too many games and not enough money to buy those games or time then there's a problem but my theory is that a I should produce economic growth therefore
reducing uh or increasing buying power making the economy grow making sure people don't have to work as much people work less have more time to play games plenty of games come in because of AI does that make sense does that make sense you're suspicious the AI will do much for the bottom line I don't know man um I don't know man uh what am I doing okay let's take a look so these are all mo memory things okay good good good wow we've got so many debug. logs this is great I want to kill all of these this is wonderful how do I fix these automatically let's ask uh Claude I need
an editor script that identifies every line ident identifies and opens every line of code that uses a debug.log is it possible to create this tool so that way we could just go and it opens all of our um scripts that use debug.log and I can just cut cut cut cut cut cut cut right alternatively obviously we can just go but this just a lot of things to open I wonder if I can just open them all oh yeah there we go well that was only one I want to open them all if you have no job you have plenty of time to play games but you don't have buying power you need both you need time and buying
power okay so we can't open all these what does she say here's our editor script sure okay we're going to go ahead and create this and put it into our editor folder hopefully you guys I don't know if if you're learning much but I'll be honest with like for those of you who are just starting Game Dev this is not normal like how I'm doing things right right now this is not normal at all everything was hand coded um or you'd pull them from a forum and it wouldn't work and you'd have to figure out like this is like exponentially faster what what just happened there three four years ago I would have had to hire somebody to do this hey I need an editor script for this so this is a big deal um what is this called find debug logs so there's our script and we'll see if this works you know I don't know um
so find debug logs is the script name let's open up unity and see like it I I love how many of you are new to Game Dev in the chat raise your hand how many of you are complete noobs and watching this is kind of really foreign you're not really sure what's going on um if you use co-pilot edits uses it does them for you even better okay Lo logus swarm is new Philip is new ascendi arcade logar foxite James this all of this is completely foreign completely foreign it's brand spanking new um you know it could be a beautiful
brand new baby boy or it could be the spawn of Satan but right now we're just we hold this beautiful little baby and we're like wow it's so pretty this is amazing but you never know we don't we don't know what this is going to be this is fresh and new to everybody um but in the past you'd have to understand all this all of this stuff how to code all of this it's just not written for you no way you know you you'd have to do it all by hand or at least find it on a forum somewhere okay let's see if we got it tools um debug log finder it should I hope we can open all these up man I don't think there's a way to open all of them so we're just going to do this theory is they should open up here save the script in the editor folder in the tools debug log finder open a custom editor window click and it'll find them all
click on any listed results to open the corresponding file the specific line in the unity editor yeah but it's not doing that the buttons don't open the file in Visual Studio to ensure that the buttons open the file in visible Studio you need to make sure the file paths are correctly formatted um here's an updated version with some adjusted to assure that it works correctly find debug logs interestingly it knows the new name I find that really interesting that we renamed it so that's cool all right we'll try again we need to open up the tool Again by the way those you just joining us just click the link below if you want to learn more about there's a free webinar Below on how to secure six figures with a demo it teaches you how
to Market yourself how to Market your game how to find Publishers how do to do Kickstarter what's that whole process like you can actually go full-time with just a demo can't make any promises I could just tell you how I've done it so click the link below it's totally free all right let's Che a take a look here let's try again nope okay another editor script hits the dust or meets the dust What's the phrase Bites the Dust we're going to delete it I had one earlier today that just wasn't working either um hey guys give a shout out to avani sound um feel free to say hi aani sound is a sponsor of this uh Channel they were they sponsored a previous episode I believe they did you guys sponsor Ken lavine's
episode um sponsors are great you know um they it really does mean the world to me when we have a rock solid sponsor like a Vonnie sound um they're in the chat because they have a great product um solid sound effects that are fully licensed for your game so check out ovani sound they didn't sponsor this stream at all but they're in the chat um so I love sponsors I you know it depends it depends on which which sponsor does what but generally I I it's great because they keep YouTubers paying the bills which is awesome um keeps the content coming I guess guys we're just going to have to freaking double click on all of these which sucks um you know do we just double click them
all this is awful does anyone have a better solution for this surely there's a way to clean this up ooh only major and critical that's awesome do we really need to worry about moderate but this is CPU okay debug.log is actually pretty problematic um so you want to make sure you're getting rid of these all right but we're not going to hit save because it's going to have to re uh recompile everything here um but we're just going to go through all this while we do this does anyone have any questions just use shift control F and replace in Visual Studio find and replace debug with Slash
debug okay we're going to file save all okay guide me Jason okay we're going to do find and replace no I don't want to do that because what if I want the debug.log there a lot of them help a lot of help guys debug log warning no build settings that's fine that's fine okay so none of the warnings are a problem um these logs are are are definitely problematic that one's good I have to just look at every single one honestly a lot of them are just useless um but go ahead and ask me questions guys while I do this and I can clean it up um do what Anu said what did man say for each file hit contrl F down arrow and replace every debug with no
because um I need to look at every single one honestly I need to look at every single one but I can't hit save because it just it it screws this up every time oh we've got major issues what oh okay good weapon wheel that's still an issue really and is this an is this an update that's a memory issue so I don't care about that oh we got another one there okay um well let's let's just focus guys let's focus on the debugs really quick um we're going to go by SE severity here there's actually not a lot when I look at it now um that are going to cause issues I like the idea of quality settings logging I think we need that this is ridiculous we don't need that some of these are just really silly um changed to what is this analyzer what is an analyzer yeah we don't oh that's okay
let slipgate stuff I don't think I need it but we're going to keep it that's when slipgate was working on the game what is this oh look at this massive debug yeah oh there we go which potenti yeah we don't need that we don't need that it's like super ugly we don't need this no we do generated gu IDs yeah we need that uh death by Falling don't need that anymore those are just there because it was we were when we were building it you know uh we don't need this but these aren't happening in update you know so they might cause a little bit of a hiccup um but actually my theory is is that a lot of people have been getting issues with when a new area of the map loads well when that happens you might
get a slew of 12 debugs and so those might cause a blip you know so I think we're actually good here um let's see here dialog Runner I think we're good I'm going to hit save all and see what kind of reduction we get here Thomas sometimes I like I'm just wasting time developing you might be Camille that's that is guys it's like uh in a way sometimes I I feel like this channel is teaching you how to you know mine crypto it's like of course it's a gamble building games is incredibly uh risky if you you know you really got to know what you're doing if you want to convert it into money um you you just have to be okay with wasting time and if you're not okay with wasting
time I get it and you don't have to do it but any art form any art form is buying lottery tickets with your time I mean that's really what it is so you need to be okay with losing it Whatever You're Building you need to be okay with it failing you have to be okay with it yeah you might be right the eagle Dev vram is a huge issue with loads of textures yeah okay let's see if this fixes it um what kind of other issues do we got with the debug log okay we have a few moderates left nope they're still there I don't know why I think I need to re yeah let's do it again here we go [Music] so I believe that that only checks the code uh that little refresh thing it
only refreshes the code for project auditor Thomas how many programmers did you hire for this project I had three on it at one point now it's just me um that's from Matt yeah I think last year I had me AJ and Gordon on the project and then also I think his name is Jose he was on it at one point as well the reason I don't know his name name is cuz uh I barely worked with him he was working with um slipgate okay we got a few more here generate guid we want that damage take damage heck no we don't need that debug. logs they are not friendly isn't that funny how logging something is problematic it's just so funny um so we're just doing guys what we're doing is this is basically low hanging
fruit when it comes to optimization I think lwh hanging fruit is is a good approach it's like look if you can kill these debugs absolutely kill the debugs um this is an update are you kidding me oh that's if debug me is true that's I don't like it though I'm G I'm going to at least comment that out um I promise you you guys ready we're almost done with these debugs you guys got any questions Thomas I watch one of your videos about the X Bioshock Dev you mean Ken LaVine he talked about show ship do you incorporate dramatization into Twisted Tower I'm not sure what you're asking
Harris I'm sorry bud I'm I'm so sorry I don't know what you're talking about I promise you all right guys we're going to hit save all and those debugs are officially gone those are low hanging fruit definitely Bitcoin is crashing it's been crashing all day whatever okay Thomas is it normal to have to debug so much if you paid three people what I'm not sure what you mean by that is it optimal to do it yourself considering you'll always care more about your project than someone else well no cuz sometimes you have to just get the project done you know uh surely this sure this project might be I don't know the way I would do it
and I would be happier with the code if it was just me but sometimes you have to just get it done and you need you need people to speed that process up okay let's take a look here yep these are all fine good get build settings update title instances random instancing that's in the nav mesh components I don't even use that though so all right let's take a look guys at our major or critical errors oh my goodness this is wonderful mono Behavior method fixed empty fixed update is empty Wow Let's close this for some reason I'm going to close all these this is great low hanging fruit baby lwh hanging fruit
delicious looping sound Trigger look at all these empty updates I did not know this was a problem did you guys know that did you know that empty monab behaviors are a big problem I had no clue lwh hanging fruit is my favorite favor thing low hanging fruit is my favorite thing low hanging fruit is my favor thing click the button and get rid of it for me it's getting hot here I'm having fun guys I just love cleaning up projects what was the most costly Parts when you made this game
this is from Edward uh art is very expensive it you can't there's no AI equivalent for great art there's no AI tool that creates quality 3D art really good level designs it just doesn't exist um so yeah you gotta pay for it and I paid for it I had no idea empty updates were a severe issue what why would you say that's severe an empty monob Behavior message handling method for example awake start update will be included in the build and executed even if it's empty every message handling method on every instance of a mono Behavior takes a small amount of CPU time okay I I just don't know if it's like as severe as Unity thinks it is you know um
but let's kill we need actually kill start as well yeah we don't need start what is this options header control or whatever that is um do you guys agree with that zinx has a really good question zinx is saying look I've been making I've been making games for two years but I spend so much time on udemy and Thomas am I wasting my time on udemy I would actually say yeah um when it comes to Game Dev it's a lot like uh it's like learning to drive stick stop you cannot learn to drive stick by um learning about driving stick you have to do it um when it comes to making
games I it's not an equivalent example but there's something really really magical that happens when you when you make games for yourself like for example you want to make a cool idea like Jason I know you're doing that where it's like you have an idea in your head for a game and it motivates you and it pushes you to solve problems um there's no there's no better uh way to learn how to make games than to make something you want to make and that that pushes you past the finish line and it also turns you into a problem solver um this is I actually I'm not going to say this because I don't like G the gatekeeping mentality I've been seeing in the game Community lately The Game Dev Community where it's like you're not you know you're not doing this right so therefore you're not a Game Dev blah blah blah blah blah I was was about to say if you're not obsessive about your game then you're not really doing Game Dev I'm going to take that back I'm
going to say most people most people who are obsessive about their games um or most I'm sorry most people who know how to make games they know exactly how it feels to have that obsessive gear spinning all day and it can't happen with tutorials um it happens because you love the project um so you're not really creating something are you you're you're you're building something creating something is different than building something um building something is tutorials creating something is making an idea that you have Jason says dude it kept me up two hours last night after having a massively beneficial session developing yeah exactly it just it just it's not really good if you're a parent honestly Jason you know what I mean or a husband you're like you're just like hello where are you
Jason all right um that's great I'm going to hit save all for all this no I already did any errors guys look at what we're doing here we're just getting rid of all these severe issues um which is great you know that speaks volumes to me Thomas thank you for the answer yeah I will never ever be the person to tell you that you must do things this way you must be obsessive about your projects or you're not doing it right uh you must stop following tutorials silly title for a YouTube video game devs don't follow tutorials yes they do it's like it's very nuanced we're all different but I found for me that game devs who just make a project and just build it from scratch without following a bunch of tutorials they tend to fa better I'm just based on personal
experience that's right Jason Jason says it motivates me to get my day job done faster um which is better human which is better bad human art or AI art bad Human Art 100% oh my goodness Unity component. tag usage oh my goodness guys we got some issues baby this boxing allocation we got to solve this one too this is all in one script in the dang weapon wheel still let's ask co-pilot uh unities um auditor tool is telling me that I'm still using boxing in this
script can you fix it here's the message it's telling me surely we can get rid of this it's the string method explicitly for Value types here is the updated weapon with potential boxing issues fixed uh 168 168 172 for clarity it's saying the issue is in 168 and 172 um what in the world the response is truncated because it's too long let's clear this wait come
on there we go here's the fix for the issues on 168 172 okay it's on toggle cancel all right okay so there's that one is that really it I didn't like that looked like the code changed Jason just went straight to the the hypocrisy of it all real game devs don't plug their PC into wall outlets
they go into the woods and invent electricity from scratch yeah I don't like this whole real devs do this real devs do that it's just odd to me I want everybody to to be successful and I want everybody to be able to do it you know guys I was I was everything that some a game developer shouldn't be um I'm bad with numbers I'm bad with schedules I'm bad with gaml I'm Gad bad with mechanics I'm bad with balancing uh I get distracted easily I'm insecure yet I just really wanted to make games and so I don't I don't I didn't I didn't feel like I fit myself into a mold and so I don't I didn't feel like I fit into a mold to make games um I hate game shows like GDC
packs I can't stand that stuff um and so I'm just like I I don't know I'm I'm I'm really into like um things that developers probably aren't into you know um I'll put it that way but I still do it you know so I don't like the whole idea that you got to fit into a mold all right we still got a freaking boxing conversion from value type in32 to ref type what 168 168 172 I'm still getting an issue with 168 and 172
no dummy co uh auditor is saying I'm converting from int 32 to ref type I don't want to do that oh isn't this when the weapon wheel stopped working isn't that what happened I'm not sure no that was something else Hey Soul engine how are
you cavalero we're doing optimization today using auditor okay um that's the theory we'll see what is this in on toggle canceled all right we'll we'll see if this solves it I doubt it seems like uh co-pilot's having issues with this line here we got an issue baby yeah you can't do it directly I'm get getting a null what is the what is the error here I'm getting this issue when I try
and compile the script given the error message seems like change web method expects an INT as an argument not a string let's update the code to pass the correct type I have a feeling this is going to be a dead end but we'll do it anyway Thomas do you do you know do you have an idea for what the optimal time to launch your your game after nextfest is do you mean I Andrew Ed I believe what you're saying is uh okay let me let me try and answer that really quick but um let's see okay that's good but let's double check this I'm going to let that run and I'll I'll tell you what I think you said also what's better wait till next Fest to launch the demo or launch the demo way before nextfest to do a bunch of festivals well nextfest is on average
it's going to I I think most people will get 1,000 to 10,000 um I I fared better and it's because I have this big Channel and also I really do think my game is it's rock solid uh I think it's a pretty solid game other than its performance it's up to optimization so it had a really it's a good game and and people really liked playing it um but most people are going to get a th000 to like 10,000 wish list so is it like super duper worth it I guess um so yeah launch your demo at nextfest according to Chris Sakowski wish lists don't really get cold so some people say launch your game six months after so that your wish list stay warm Chris Sakowski would would argue that it doesn't matter based on his data I actually believe in my gut just my purely gut that wish lists do get
cold so that's what I believe I'm not going to say it's true though it's not based it's not based on empirical data but look email lists get cold it's just what happens so I don't understand why a wish list would be any different uh okay we still have boxing allocation issues I don't believe this is happening in we're going to see if this is happening guys in uh the update if it's happening in the update or frequently we got a problem uh what's the physics update fre in your project the base physics update is unnecessarily frequent we'll take a look and see if that's an
issue but let's hit play here yeah there's a lot of things we can scrub through oh my okay yeah it's it's pretty infrequent during every shot are you kidding me oh my word that's crazy it's during every single shot it's outrageous cuz it's it's it's adust adjusting the ammo text man let's figure out guys we got to figure out the solution here
oh my word yeah this is a problem this is a major memory issue this one isn't I'm not using Too Many Colors all this stuff no but this is an issue boxing happens when a value type such as an integer is converted into an object of reference type this causes an allocation on the managed Heap wow so how do you solve this okay I'm going to I'm going to see if chat uh if if grock has a solution for me and we'll go from there okay we'll see what grock
says if Twitter I don't know if Twitter's working today it's just really slow um yeah it's it's just freezing up on me I'm going to see if Claude has something to say so I'm using the unity project auditor and it's telling me that three lines of my code are causing major memory issues okay so what is it it's conversion from value type in 32 to ref
type apparently I'm converting uh value type in32 to rev type it's telling me that this is called boxing the solution according to it is create methods and apis that can is to create methods and API types that can be that can accept a value type wait an API they can accept value types here's my code okay what's going on here
okay looking at your code I can help you identify where the boxing issue is occurring boxing happens when a value type like in32 is converted to a reference type like an object which causes unnecessary memory allocations in your code the boxing is occurring in these string interpolations good correct when you use string interpolation blank that the compiler is implicitly boxing your integer here's how you fix it it's basically using two string we'll see uh I doubt this is going to work man but look I don't know that's going to work guys but we'll we'll we'll give it a
go there's an error baby no we're good all right let's hit reload here by the way those you just joining us just check out fulltime Game Dev below see if it's something you're interested in um it's 25% off for the next 5 days depending on when you click that link when you click the link it'll start a 5day timer for you to get 25% off with a coupon just for you you'll join 4500 students and learn how to not only make games in unity gdau or unreal but you also learn how to actually get funded with your demo I can't make any promises I could just tell you what I've done you know I've taken a demo and turned it into six figures uh I've done that multiple times um I've also raised six figures on Kickstarter um most multiple times although the second one was like $85,000 um but uh I can also show you how to hit the steam front page get
press coverage all that okay we got boxing allocations again yay we solved the problem baby look at this okay now let's see if the game actually works that's a big deal actually you know um we've got a lot of uh that's happening a lot you're boxing every time you shoot the button you don't want to box when you're when you're clicking the fire button we do not want to box that that can get exhausting all right let's see if this actually solves our problem though it actually works with the UI ain't that funny how Claude figured that out
hell happened hey looks like it's all right let's see if the weapon Wheel Works all right check one two12 good collect pistol good okay uh dude I like that look at all these we've got more we can't have that baby let's remove that we can't have all these empty
updates we don't want that looks like it just found more you know I'm going to make this project really really fast I'm going to clean it up today today I'm going to do it now today got it got it got it I feel like I'm taking out the trash you know it's a nice feeling or cleaning up a house one of my favorite things to do me and my wife really like to clean so we just clean clean clean clean clean it's a nice little Hobby don't go too fast Thomas well fortunately we have Version Control so if we make a mistake we could figure out
what's going on with Version Control what is that project auditor where project auditor looks for um inefficiencies in your project it's pretty cool save all all right we got rid of those what is analyzer what is this slip iron I don't need that whatever this is
in slipgate has this package thing in here or this package in the package manager that I want to get rid of we're not working with them anymore yeah let's get rid of this trash okay hopefully it doesn't cause any errors of course it does dang it let's hope that that's not an issue oh crap okay apparently we need it good thing we have GitHub we're going to restore all that slip Gate iron works give me a sec guys I gotta find where this issue is
restore I should bring it back slip Gate iron works Unity tools oh crap discard all these changes let it reload and hopefully that goes away crap why doesn't that exist okay I think I know what's going on here I'm going to go to a backup that I
have we need to find that so apparently we need that because the save system is linked to something that slipgate did I don't know what it is uh Twisted Tower backup March yay okay so it's in the packages cm. slipgate Iron Works goodie okay um so we we I still have it um in a backup so we can put it back please God shoot okay it's okay good the folder's empty and now it's not empty okay good all right let that reload [Music] hey guys Jeb wants to say hello Jeb Jeb
[Music] jebie okay I deleted code in animation trigger try cons control Z I did let's take a look animation trigger what do you mean did I let's take a look at GitHub thank you for for keeping an eye on that for me guys I love you guys all right let me look I'm looking I found it yeah I deleted update we don't need update um okay Thomas did you change up your office again yeah always changing stuff all right let's go back to
auditor I can't find it wait what what hang on where's auditor what you deleted the start instance Setter what do you mean in what what what ATL code was it what line of code was it was it animation interaction no I'm looking at it here guys it's there's nothing that got deleted we could take a look
though animation trigger is just an update animation interaction just that you want me to make my posture better okay I don't think I don't know guys I don't think I deleted any code I shouldn't have no yeah y'all want to listen to your own music I don't like streams that have music we'll scrub through here no okay we're going to go all the way to the bottom to double check we'll we'll go to the scripts here and take a look granted I'm I'm frustrated because I cannot find
uh the project auditor the project auditor is gone I know why we need to go to packages Unity registry we need to actually just paste it okay so one of the things about project auditor is it doesn't show up for some reason the package manager um give me I'm going to tell CLA Claud give me the yeah I deleted it because it I did something in GitHub so we don't have project auditor anymore so let's get it give me the git URL to install the I'm sorry I'm sniffing guys I know it's gross uh project auditor Unity project auditor package okay there it is okay all right so all we do is go to this add package from disk or get URL and we should be able to paste it and it'll be pretty quick
no okay that'll install and we'll be able to use it yeah I reverted the packages Alex you said you swear you saw the instance get deleted okay well I mean we'll we'll take a look but I don't think we we removed anything um okay well let's go ahead and open up our uh I guess we need to update it we'll see I'm sitting here burping sorry all right so we've got uh lots of moderate issues that we're
going to need to look at with the assets project setup interestingly object name apparently that's a problem we have more boxing issues really and you know whichever one of these are happening in the update I think it could cause a real problem um again loow hanging F fruit guys it's like this may not this may or not make a big deal big impact but might as well just do them quickly uh may they may make a huge impact I don't know
okay good we only have four items that are boxing get current animator clip info these are all memory issues they're not CPU issues I'd rather focus on the CPU ones send message that's disgusting oh my word I'm sure this this better not be I'm going to double check and see if this is in the update if this is in the update we got a problem sending message here all right let's hit play we're going to
see how often this debug occurs if it's all the time we got a problem baby the hell happened here these sound like mono no we're good good okay okay it doesn't happen like ever yeah it doesn't happen ever so I'm not it's not a huge problem yeah this is really
for I don't think that's a huge problem I mean what what is what is the script here I didn't write this okay what else we got I'm I'm not worried about that one I don't use that ground fitter movement I don't use that water atics okay
okay uh give me just a sec guys well well well well well lots of really interesting stuff here we've learned today guys it's so funny there's always something to learn it just never gets old it never ever gets old all right thank you so much to the new students Jeremiah specifically Jeremiah G and David D if you want to get a shout out tomorrow in tomorrow's live stream check out fulltime Game Dev below today's sponsor is full-time Game
Dev which is my program massive program with over 4,500 students worldwide if you want to learn how to make games in unity gdau unreal whether it's 2D or 3D you could take your pick it doesn't matter it's up to you if you want to learn how to make games but also learn how to sell those games whether it's selling it on the steam front page done that whether it's selling it to a publisher just a demo and selling it to a publisher making six figures I've done that if you want to learn how to make six figures on a Kickstarter I've done that I can teach you how to do all of that check out the link below hey and it's cool because some of my students even went full-time Bart mamser everlux games Chris stair right sutar Antonio Thomas Stewart it's really cool it's a massive program it's huge can't make any promises I can just tell you what I've done so check it out and by the way if you're a student let me know in the chat what you think about the program and guys thank you so much for letting me do ad reads it means the world to me because it supports obviously supports the channel supports the podcast and also Al if you're not interested in joining the course that's totally fine there's also some free below get a $100,000 demo webinar what does that mean well I'm not going to promise
you're going to make $100,000 but I am going to say I could show you what I've done right to turn a demo into six figures it's not easy it's not like Oh Thomas is telling me that everything's super easy and everybody can do it no it's very hard but I can show you how to do it okay so check it out below and who knows maybe this is the journey that you need to take so click the link below totally free to watch that video
Auto-generated captions from YouTube — names and numbers may be misheard.
Distilling the key insights…
Thomas Brush · 2026
Jonas Tyroller · 2026
Comments