Do you use transform.Find() in your code?
Stop! I highly advise against it for one simple reason: Find uses strings and strings are horrible identifiers.
Strings are extremely brittle, it is very easy to make mistakes. If you have the string "Player" and "PIayer" they look similar but are completely different, as is "BOne" vs "B0ne" or "Elite" vs "Eli7e" or simply "Player" vs "Player ", invisible spaces have driven me insane many times in the past.
All of those are completely different but hard to tell at a glance. And those are also perfectly valid strings in terms of code compilation, so you won't get any errors until you run the game and everything breaks.
Because of that I highly recommend you avoid using strings as identifiers whenever possible, which thankfully in Unity you can avoid them with only a handful of exceptions (like Animator parameters)
So instead of using transform.Find(); just use a [SerializeField] and drag the reference in the editor.
This one simple change will help you avoid so many headaches.
- Code Monkey
Do you know what is the current HOT genre on Steam for indie devs?
How much a Daily Deal is worth?
How maybe the co-op ONLY games era is coming?
Or why this game made $350,000 in 24 HOURS?
These are all things I covered in my Game Dev Report Newsletter! The latest Game Dev Insights straight to your inbox every Sunday.
Being an indie dev is hard, but if you stay up to date with what is going on in the industry things become much easier.
Check out my newsletter HERE! cmonkey.co/gamedevreport
Is this valid code?
Color? myColor = null;
A) Yes
B) No, myColor is a struct and cannot be null
(answer in reply below)
62%(A)
38%(B)
406 votes • Final results#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
(A)
Structs indeed cannot be null however in this example code myColor is not a Struct but rather a Nullable. Note the Question mark ? after the type, that marks the type as Nullable.
When you make something Nullable you can make that type null, regardless of what that type is.
This is all valid code:
Color? myColor = null;
int? myInt = null;
bool? myBool = null;
I have a lecture on Nullables in my C# Course youtube.com/watch?v=qZpMX8Re…
Is it possible to make a full-time living from indie games today? Absolutely! BUT only IF you have the right mix of experience, solid marketing skills, and keep your costs realistic.
Back in 2013–2020 when all I was doing was making games (before I ever started my YouTube channel), my Steam games alone brought in over $1M, which definitely allowed me to make a living.
Part of the secret for my survivability was just my cost of living. Here in Portugal my goal was $2000 per month which allowed me to have a pretty nice life. With that a one year game just needs to make $24k to make a profit, whereas if I were living in San Francisco and needed $10k per month just to survive then that same game would need $120k to make a profit, that's a LOT more difficult.
The other secret is simply experience. My first Steam game was actually my 40th game! I made Flash Games for 5 years until I gathered enough experience and skill to be able to make a living from it. It did not happen overnight.
And of course making games as a hobby just for fun is always a valid goal. It's up to you to decide if you're making this as a job or as a hobby.
I wish you the best of luck in your game dev journey!
- Code Monkey
Got a comment on my FizzBuzz video saying my "simple" solution wouldn't cut it in interviews since it isn't modular.
This is a great example of one of the biggest dev traps, premature optimization!
The code that I wrote perfectly fulfilled all my requirements, it was not meant to be modular and it did not need to be modular.
Remember how you have limited time and energy, do not waste those precious resources on solving imaginary problems that don't exist.
If your task is to write some code that solves A, then write some code that solves A, not some complex overengineered code that solves A, B and C!
And of course, if in the future those needs changes, then just refactor! Remember how code is not set in stone, you can modify it later on if you need to.
- Code Monkey
If Unity and C# tutorials don't really get outdated, what about Steam Game Marketing? Is the advice from 5 years ago still applicable today?
No!
When it comes to technical tutorials the core concepts don't really change, but in terms of Steam Marketing the meta does change quite a lot so on that one yes I would recommend looking up more current advice.
For example the advice 5 years ago on Steam was "do not make a demo, they will just hurt your copies sold" whereas nowadays a demo is absolutely ESSENTIAL for marketing.
Yes the core timeless advice of "make a good game" is still the core of it, but the tactics have changed drastically from 10 years ago, back then Next Fest did not exist, influencers almost didn't exist, and wishlists weren't such a big deal. So on the topic of Steam Game Marketing yes I would recommend you find less than 1 year old tutorials / guides to follow.
- Code Monkey
What matters most when choosing a code style?
A) Using the exact same style as every other developer on the planet
B) Consistency across the whole project
C) Mixing styles so every file looks unique
(answer in reply below)
3%(A)
94%(B)
3%(C)
93 votes • Final results#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
#### ANSWER ####
(B)
PascalCase, camelCase, snake_case, prefixes, no prefixes, different teams use different styles. You can use whatever code style you want, the exact style is less important than consistency. Pick a style and follow it everywhere so the whole codebase feels predictable. Check out my talk on YouTube titled: "How to Write High Quality Code that doesn't fall apart"
This AI-proud game made $200k with 92% POSITIVE reviews!
gamedevreport.beehiiv.com/p/…
#gamedev #indiedev
Making games requires lots of assets, and if you want to make lots of games in lots of different genres/themes you need a MASSIVE amount of assets.
Wouldn't it be great to have UNLIMITED ACCESS to a giant library of over 150 packs so you can make games in any theme imaginable? Well the Synty Pass is exactly that!
You get access to EVERY PACK covering basically any theme or genre. Whether you want to make a Sci-Fi or a Medieval game, you can go Fantasy or Pirates, Dark and moody or bright and cheery, they've got all kinds of packs for you!
Not to mention how the Synty Pass also includes Animations, Characters and UI packs! Everything you need to make any game you can imagine!
I love the Synty Studios style, awesome high quality low poly art. They've been building assets for over a decade and you can get EVERYTHING they've ever made, all 150+ packs, with the Synty Pass.
Check it out and go make AWESOME games! #sponsored
cmonkey.co/syntypass
How $560,000 in Steam sales turns into $73,000 for the dev
gamedevreport.beehiiv.com/p/…
#gamedev #indiedev
Every game is 90% the same! That's a fact!
Obviously that doesn't mean Hollow Knight, Call of Duty, Pok mon and Stardew Valley are literally identical games.
- The experience is different
- The visuals are different
- The controls are different
- The audience is different
- The genre is different
But from a game development perspective, they share a massive amount of overlap:
- They all need systems
- They all need input
- They all need state
- They all need UI
- They all need audio
- They all need some way to manage gameplay flow
- They all need some main menu
- They all need to handle saving and loading
- Etc
This is exactly why learning fundamentals is so powerful!
Once you understand the core building blocks of any game, you can apply them anywhere to any game idea you have any genre.
A player controller in one game is not exactly the same as a player controller in another game, but the concept transfers.
An interaction system in a cooking game is not exactly the same as an interaction system in a simulator game, but the concept transfers.
A save system in a farming game is not exactly the same as a save system in an RPG, but the concept transfers.
This is also why you shouldn't look for hyper specific tutorials or courses. Even if you want to make a game like Call of Duty, you will still gain a lot of useful knowledge by following my Kitchen Chaos course which is a casual cooking game. At a glance cooking and shooting have nothing in common, but in terms of making games they do have a lot in common.
The genre and the specifics of your game is the surface. Underneath that surface is a common foundation.
Focusing on learning that core foundation and you will be able to build any game you can imagine!
- Code Monkey








