Тёмный
Code Monkey
Code Monkey
Code Monkey
Подписаться
Hello and Welcome!
I'm your Code Monkey and here you will learn everything about Game Development in Unity using C# taught by a Professional Indie Game Developer.

Watch the free Video Tutorials or learn from my complete Step-by-step Courses
unitycodemonkey.com/courses

Check out the official website to download the free Project Files and Utilities for every video
unitycodemonkey.com/

I've been developing games for several years with 9 published games on Steam and now I'm sharing my knowledge to help you on your own game development journey.

If you have any questions post them in the comments and I'll do my best to help.

My Steam Games
- Dinky Guardians
- Battle Royale Tycoon
- Ninja Tycoon
- Hyper Knights
- Hyper Knights: Battles
- Blueprint Tycoon
- Game Corp DX
- Survivor Squad: Gauntlets
- Survivor Squad
Wishlists DONT MATTER (after release)
5:39
4 часа назад
TOP 10 FREE NEW Assets MAY 2024!
4:43
День назад
Is Manor Lords a Solo Dev game?
6:23
21 день назад
You can MAKE GAMES for FUN!
14:38
21 день назад
Unity 6 Preview is OUT!
4:09
28 дней назад
What happened in Game Dev and Tech?
10:41
Месяц назад
How Beginners can make games FAST!
9:59
Месяц назад
TOP 10 FREE NEW Assets APRIL 2024!
5:29
Месяц назад
Epic CEO ANGRY email to Steam
10:21
Месяц назад
Can a SOLO Game Dev make GTA?
8:57
Месяц назад
This is now a ______ Channel!
7:31
2 месяца назад
The FUTURE of Unity 6!
22:36
2 месяца назад
Комментарии
@MarushiaDark316
@MarushiaDark316 Час назад
The kawaii pack likely has combat animations because it's a common trope in anime for girly characters to slap each other around or to punish boys who are being lewd. Usually, these attacks are incredibly exaggerated and meant to suggest more damage than they'd realistically be capable of.
@4r4abil70
@4r4abil70 2 часа назад
help i cant download the file of unity is it bec I'm using it free?
@johnylucio
@johnylucio 4 часа назад
Why does every channel that teaches unity have a course or mini-course in their playlists on how to make a TPS, but when it comes to FPS it's so difficult to find one that's really good? My intention is not to offend, I have only been looking for fps courses since 2016 and I never find one focused on this that is really good, I only find floating weapons and poorly done animations, no one teaches this well, whenever I try it myself, I end up coming across with a problem that I can't solve, and maybe for you, it's easy to solve these problems, but I'm Brazilian and in my language this content simply doesn't exist, and when I search in English, I don't find good options either, why is that?
@johnylucio
@johnylucio 4 часа назад
please! help me!
@DeadWayfes
@DeadWayfes Час назад
Fps and third person shooter can be pretty much the same, just place the camera on the head of the object, and make it follow the object at some offset. If you want delete the head and place your camera at eye level. Other than that its the same controlers than a tps
@Smart_Coder7
@Smart_Coder7 4 часа назад
56:15 What do you mean by to separate visuals from logic ?
@emptyhanded_whitewolf
@emptyhanded_whitewolf 7 часов назад
Coming from the KitchenChaos tutorial, awesome video BTW. My thought though, if we want to stick with the self explanatory principle of writing code, shouldn't we always use GameObject for any object in the game, and Transform for any transform of an object in the game? This way there's less confusion when reading code, regardless of author and regardless of time/version of game engine when the code is written.
@RoboGameOfficial
@RoboGameOfficial 7 часов назад
Do DataContract's work with Unity? Because if they do, then that would be much nicer to deal with. Where all you have to do is mark a class you want data to save as "DataContract" and mark each member of the class you want to serialise as "DataMember"
@Brainyplanet
@Brainyplanet 7 часов назад
Can you make a video to implement IAP in Steam Unity Game. Since unity does not support it.
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
I'm guessing Steam requires you to use their API, so look at Steamworks .NET instead of Unity's tool
@Brainyplanet
@Brainyplanet 5 часов назад
@@CodeMonkeyUnity It requires developers to make their own backend which will handle products and transactions :(
@TheMonsterShow1717
@TheMonsterShow1717 8 часов назад
p
@suicune2001
@suicune2001 8 часов назад
Thanks!
@keyhaven8151
@keyhaven8151 8 часов назад
Why can you train with multiple vehicles simultaneously during training? How is this achieved? What should we set up?
@mosamansha
@mosamansha 8 часов назад
The interactActions , C# Events topic is a bit tricky and confusing
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
If you're new to events then yup they can be quite a bit confusing at first. Rewatch the lecture and write some code. Once it clicks it becomes quite simple. You can also watch my dedicated Events lecture on my C# course ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-I6kx-_KXNz4.html
@joeman123964
@joeman123964 9 часов назад
for those who are new to Unity, codemonkey also has a video teaching you how to properly SAVE a game using scriptable objects. you can think your game is saving properly in your unity engine, but once you deploy the game it won't actually save correctly!
@emptyhanded_whitewolf
@emptyhanded_whitewolf 9 часов назад
02:50:44 Just a note in case any other newbie made this mistake as I do: Instead of disabling "KitchenCounter" I disabled "Selected", which results in the scripts attached to "Selected" do not Awake() in the first place. This results in the counter visual stays "unselected" (i.e. colorful) even when it is selected (should how the white-ish highlight). Took me quite some Debug.Log to figure this out.
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Yup the Awake(); only fires if the object/script is Enabled.
@2archarry
@2archarry 9 часов назад
I thought "what is the point of coding a class with generics if in the end the object managed by the grid must have a relathionship with the grid class". I understand we need to call the event when the object of the grid is changed. I would prefer to have a method like: public void performAction(int x, int y, Action<TGridObject> gridObjectAction ){ } if the cordinates are valid then call gridObjectAction and finally call OnGridObjectChanged. Am I breaking single responsability principle with my sugestion? I felt discuraged when seeing that the TGridObject has to be coupled with Gird<TGridObject> class.
@2archarry
@2archarry 9 часов назад
To me generics is "You can contain anything". But if the object can not be anything and has to honor some conditions then the generic might be a subtype like Grid<TGridObject > where TGridObject : IInterfacesThatMakeTheGridObject has an atribute of grid type. I am just thinking out loud.
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Not sure I understand your question, the whole point of Generics is so you can reuse the same GridSystem with any kind of GridObject type. For example I've used this same Grid System for Pathfinding, for a City Builder, for a Factory Game, etc; all of those systems use the same GridSystem but different GridObjects since each have different data requirements unitycodemonkey.com/search.php?q=grid
@2archarry
@2archarry 15 минут назад
@@CodeMonkeyUnity Why the TGridObject has to know the Grid jus to call TriggerGridObjectChange? If so then TGridObject does not have to be a subtype of object. class A{ private int state; public void IncreaseByOne(){ state++; } } So the Grid. var grid = new Grid<A>(Vector.Zero,(Grid g, int x, int y)=> new A()); The Grid<A> will not now when the internal state changes. What if orchestrate the internal change and call the event? class Grid<TGridObject>{ public void performAction(int x, int y, Action<TGridObject> gridObjectAction ){ //get the xy object var theXYObject = ...; gridObjectAction(theXYObject); //Then call the event OnGridObjectChange(new OnGridChangeEventArgs( ... )) } }
@Chrispins
@Chrispins 10 часов назад
Now that Unity 6 Preview version is out, is it advisable to start a new project with it and then later upgrade the fully-developed project to the LTS version, or do you think it will be difficult to make the transition due to compilation errors/ect? I'm trying to decide if I should wait for LTS before trying a serious project.
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
There aren't too many breaking changes so upgrading from 22 LTS should be simple. If your project is 6+ months from release then I would use Unity 6, if earlier then stick with 22 LTS
@treestudiosuniverse
@treestudiosuniverse 12 часов назад
hey i want a guide to properly bind a game prototype to a story like start to finish , what could be helpful like any system . or a way of doing that thing , and when to call game is complete and near ready to release
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
What do you mean "bind a game prototype"? Bind to what?
@treestudiosuniverse
@treestudiosuniverse 12 часов назад
wonderful
@raymk
@raymk 13 часов назад
I bet that Kawaii animations will sell a lot
@jackxkodiak2024
@jackxkodiak2024 13 часов назад
I think you are right --- for the next 18 months. However, I think you underestimate the reasoning power of the growth of AI over the next 24 months and beyond. My bet is coders are 60% unemployed within 3 years, 90% within 5 years.
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
When ChatGPT4 came out people were saying coders would be out of a job within a year. It's been longer than that and yet here we all are. AI currently is already indeed insanely amazing, but being a software developer is also insanely complex.
@balduk1
@balduk1 14 часов назад
heres a comment to boost engagement :)
@everythingcouldbesimplify818
@everythingcouldbesimplify818 16 часов назад
I'm thinking to make an anime style game for my next game, a lot of these are very useful.
@UTTheLaw
@UTTheLaw 17 часов назад
Thanks! Great List! I had to toss some of these on my wishlist(s)! There's sure to be more big sales coming!
@gabrielandraderosa8622
@gabrielandraderosa8622 17 часов назад
Great!
@reigota
@reigota 19 часов назад
Did you said Portuguese you do yourself?? Where are you from my friend??
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Yup! I'm Portuguese myself, I live in Lisbon
@reigota
@reigota 3 часа назад
ahh mas a cena de jogos tuga está mesmo fantástica!! Qualquer dia vamos tomar um café!
@Unzenexplorer
@Unzenexplorer 19 часов назад
I was just looking for an asset bundle like that low poly one. Seems like a steal. Love it.
@skellula9923
@skellula9923 20 часов назад
I don't see Universal render pipeline when I try creating a new project, is it the 3D (built-in Render Pipline) one? That was probably a dumb question but Im just making sure.
@CodeMonkeyUnity
@CodeMonkeyUnity 18 часов назад
It's not that one, it's called Universal 3D or URP (the templates have different names for each Unity version) You can also just download the project files for the lecture after that and continue from there
@skellula9923
@skellula9923 15 часов назад
@@CodeMonkeyUnity Oh okay I see it, Universal 3D Core
@JustStudioSix
@JustStudioSix 21 час назад
Thank you again
@JustStudioSix
@JustStudioSix 22 часа назад
Thank you so much man!
@dbweb.creative
@dbweb.creative 22 часа назад
Where to get idle animations? Like when a character stands, then looks around, sighs or any sort of posture change. Seems like every animation pack only has 1 idle animation and no variations.
@calebgalvan6278
@calebgalvan6278 17 часов назад
Mixamo
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
There's a bunch of interesting packs with "Every day Animations", those usually have lots of "idle" animations like talking, sitting, leaning, etc.
@aster5031
@aster5031 22 часа назад
10/10
@sabaqara636
@sabaqara636 22 часа назад
We need u to create a superhero game with the real slim shady as robin lol, wud get, mili views
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
heh that would be a funny idea!
@marcelgehtdichnixan5370
@marcelgehtdichnixan5370 22 часа назад
First hello Hugo 😏
@ninjachompek
@ninjachompek 22 часа назад
Legend has it that if one says "first" on CodeMonkey's new video, one will have a successful launch on their next Steam game.
@sandrthomas
@sandrthomas 22 часа назад
7:39:05 🐵
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Great job getting that far! Keep at it!
@World_of_OSes
@World_of_OSes 23 часа назад
Can I publish a game that I made in Game Maker on Steam?
@CodeMonkeyUnity
@CodeMonkeyUnity 18 часов назад
Yes, as long as it has an executable you can make the game in anything.
@clashwithrashed8293
@clashwithrashed8293 23 часа назад
Man I fuc*ing Love U !
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
I'm glad my videos have helped you!
@QuailCraft
@QuailCraft День назад
is it me or is the volume on this video quiet? I have my volume at 80% and RU-vid player 100% and can barely hear.
@kif-zallrhat1870
@kif-zallrhat1870 День назад
🐵
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Great job getting that far! Keep at it!
@nauvalnavis6673
@nauvalnavis6673 День назад
at 12:24 you were making new gameobject for levelpart2, and place the levelpart 2 at the end part1, my issues is why mine is different? when i put object inside the levelpart2 for platform, the levelpart2 gameobject change position? my levelpart2 "pivot" were at the center of platform instead of end of the part1, i hope you understand my words because im stuck here and this problem making my platform generation scrambled
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Maybe your tool is set on Center instead of Pivot unitycodemonkey.com/video.php?v=qa5WBatZ830 Make sure you're checking the actual transform position
@Cleanser23
@Cleanser23 День назад
These tutorials are absolutely excellent and paid quality. Ad revenue does not suffice so here is a thank you in the form of a coffee or a sandwich.🍌
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Thanks for the super thanks! I'm glad you're enjoying the video! Keep on learning!
@Cleanser23
@Cleanser23 День назад
@7:39:00 Made it towards the end. All this is coming together really nicely. I have to say @CodeMonkeyUnity this is an _excellent_ tutorial. You've explained things so well up to now that basically you say "and now we're doing ui" and I'm like "hmmm well I think that has to do with this canvas we made but now camera space instead of world space. And then you say what I think. Then I think "well I already anticipated this and added events to my delivery manager" and then thats what you go do. I'm at a point where you say what we're doing and I can get 90% of the way there and do it my own way, watch the chapter if I get stuck on some small things I dont know, then watch the whole things and compare what I did with what you instructed and consider pros/cons or see if it is even different at all. I do have some prior experience rolling my own renderers/engines (that never went anywhere) so that might help but I think your instruction method is top tier. Thanks for the tutorial
@TabbedOutRat
@TabbedOutRat День назад
I'm calling cap. This is a youtuber momment...
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
This was an intense sprint, it's definitely not how much I write at all times
@user-rd2dy4bs4h
@user-rd2dy4bs4h День назад
7:39:10 🐒🐵
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Congrats on getting that far! Almost at the end, keep at it!
@user-rd2dy4bs4h
@user-rd2dy4bs4h 13 минут назад
@@CodeMonkeyUnity I definitely will! Thank you SOOOO MUCH for your amazing course, you are a literal angel🥺🙏🙏😭😭 You're making my dreams come true, thank you thank you thank you!!💝💛🧡
@emptyhanded_whitewolf
@emptyhanded_whitewolf День назад
02:04:14 🐒
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Great job getting to that point! I hope you're learning a lot!
@zbeb118
@zbeb118 День назад
Hello, for context I am making a hide and seek game. Got any tips on how I could go on and make this effect visible only when I want to be a seeker and not when I want to hide? It seems tricky as its on the renderer. Thanks! Edit:I kinda found a solution which is creating 2 cameras 1 for each player (hider, seeker) and 2 renderers 1 with the effect and one without (each camera are assigned the correct renderer) and when selecting hider I enable the hiders camera without the fov effect and vise versa
@krasik200
@krasik200 День назад
Did anyone have problem in a scenario where you have a plate on a clear counter, then you put meat patty on the stove counter, and during cooking you can't pick up the plate? I did some debugging and the object is there on the counter, but somehow when meat patty is cooking when I try to pick up plate from the counter I'm going into the if statement of counter has no item and player has no item, therefore nothing happens. After meat patty is burned I can pick up a plate once again from the counter.
@bmiller1222
@bmiller1222 День назад
Another simple way to get the diamond shape, without all the if statements: for (int x = -range; x <= range; x++) { for (int y = -range + Mathf.Abs(x); y <= range - Mathf.Abs(x); y++) { AddValue(originX + x, originY + y, amount); } } Here is the result after incorporating the falloff, although I did add an enum for different shape types, and some function names may be slightly altered, such as the GetXY function has been renamed, and this function moved into the HeatmapVisual script as it's more related to the heatmap than the grid itself: private void AddValue(Vector3 worldPosition, int amount, int totalRange, int falloffRange, HeatmapShapeType shapeType) { _grid.GetCellGridPosition(worldPosition, out int originX, out int originY); int lowerValueAmount = Mathf.RoundToInt((float)amount / (totalRange - falloffRange)); switch (shapeType) { case HeatmapShapeType.Box: for (int x = -totalRange; x <= totalRange; x++) { for (int y = -totalRange; y <= totalRange; y++) { int distance = Mathf.Max(Mathf.Abs(x), Mathf.Abs(y)); int addAmount = amount; if (distance >= falloffRange) { addAmount -= lowerValueAmount * (distance - falloffRange); } AddValue(originX + x, originY + y, addAmount); } } break; case HeatmapShapeType.Diamond: for (int x = -totalRange; x <= totalRange; x++) { for (int y = -totalRange + Mathf.Abs(x); y <= totalRange - Mathf.Abs(x); y++) { int distance = Mathf.Abs(x) + Mathf.Abs(y); int addAmount = amount; if (distance >= falloffRange) { addAmount -= lowerValueAmount * (distance - falloffRange); } AddValue(originX + x, originY + y, addAmount); } } break; } } Thanks CodeMonkey, really hope to continue watching your videos and learning new things, and particularly seeing how you make seemingly complex systems easy to understand, use, and implement.
@SubzeroBlack68
@SubzeroBlack68 День назад
I know this is an old video so dont know if Ill get an answer. But how does AI handle navigation around this? Like lets say I want a wall to be breakable. Then when it does finally break, how would I allow AI to know they can walk through that side now?
@CodeMonkeyUnity
@CodeMonkeyUnity 5 часов назад
Normally you have a box collider for the pathfinding collision, then listen to an event when the object is destroyed and disable/destroy that collider and refresh the pathfinding