These are 7 absolutely worst things you can do in your game dev project that will slow down your game, make it crash, not get you hired in a game studio, or get you fired if you work in one.
So what are they?
#1 – Never leave initialization functions in your script if you’re not using them e.g. if they’re empty.
In Unity, that’s Awake and Start. In Unreal, that’s BeginPlay.
Tbh I didn’t test it for Unreal, but I can imagine it works the same as Unity. I might be wrong.
But in Unity, if Awake & Start are left empty, they will still affect the loading time of your game.
It might not matter if you have 10-20 scripts, but when you have 1000-2000, then it will make a HUGE difference.
#2 – Overnested if/else statements.
This is something I see a lot in the game dev world, especially the tutorial world. People go and put if/else inside the if/else endlessly.
As a rule of thumb, don’t go over 4 nestings, but do note that sometimes you’ll need to break the rules.
And knowing when to break the rules separates a pro game dev from an average one. This is what I’m mostly focused on teaching inside Game Dev Pro.
#3 – Build now, optimize later – this is the most absurd thing you can do when creating your game. Yet, this opinion is very popular among game devs in basically every game dev group you find.
And I don’t know why.
Just think about it. Why should you build your game, spend 1 year on it, and then go back through everything you did to tweak the code and the settings to optimize it?
Why not do it from the very start?
It makes no sense whatsoever, and it will add at least 2-3 months, if not more development time to your work.
#4 Do not, and I repeat, DO NOT use hard-coded strings.
What does that mean?
It means you type a string manually every time you need it e.g. when checking collisions, getting a game object in the scene, getting a child object from a parent, etc.
This is messy and will lead to hard-to-find bugs in the end.
The solution?
Use one static class that will store all the strings you’ll use in the project and call them from there. I usually call this class TagManager.
If you’ve watched any of my videos, you’ll know what I’m talking about. If not, you have that inside Game Dev Pro.
#5 Overusing cameras, especially on mobile devices.
I understand that you need to set up the scene and make everything look great, but using multiple cameras is not the solution.
Cameras render things on screen, and that’s a heavy process that is updated every second.
In my projects at most, I use 4 cameras if I need to, but I try to make it less than that.
When you need to break the rule here, always use the profiler to test things and see if the frame rate has changed.
Learning how to use occlusion culling will also help you in this case.
Now on to the last two…
Out of all 7 sins, #6 and #7 are the deadliest of them all.
This is essential for every game dev to know if you plan to work in the industry, but I’ve seen even the pros lacking in this part.
Yet not mastering #6 and #7 could crush your game dev career as soon as your boss finds out about it…
These 2 I’ve left for my inner circle inside Game Dev Pro. Specifically in sections 2, 3, and 4 where I go into details about all the things that matter that are connected to sins #6 and #7.
And some things regarding #6 and #7 aren’t even connected to coding or even making a game.
If you’re interested to find out more, check out the Game Dev Pro, and I highly recommend you join the yearly plan where you’ll get live sessions with me that will improve your game dev skills 100x.
The link is below: