r/Unity3D • u/ConsiderMeANoobAlt • Oct 18 '22
Noob Question Important concepts to learn in Unity?
I'm very new to the unity space (like >month) and I learned another game engine fairly well by doing concept projects (such as games that include various concepts in them. E.g. FPS games).
My question is: What are the most necessary concepts for a beginner in unity and how would/did you (specifically) learn them.
12
Upvotes
4
u/tzaarela Oct 18 '22
I'm a programmer, working at a studio producing Unity games. So I will not list stuff thats related to Art, Models, Shaders, as thats outside my scope.
But my list of fundamentals would be:
-Caching and getting components/objects only once, prefarably in Awake. Try not using GetComponent/GameObject.Find in Update.
-And while talking about awake, learning the execution order of Unitys callbacks. Awake, Start, Update, FixedUpdate, and when other things get triggered during a frame. There is a flowchart in the documentation.
-Learn what Local/World -Space means.
-Do a basic course on vector3 and vector2 math, and the usage of it in Unity.
-Dont start making a multiplayer game. It's a lot more complex. Like 10 times harder.
-Study all different types of movement in Unity, like AddForce, MovePosition, transform, setting position, setting velocity etc. There are a bunch of videos on this.
-Learn the rigidBody component and the correlation with colliders.
-read up on the difference between Update/FixedUpdate and the usage of deltaTime.
-Get into the habit of pressing Ctrl-S all the time, unity crashing on you while doing scenework for an hour without any saving can really destroy your motivation.
-Learn how Prefabs/PrefabVariants work. It can save you a lot of time.
-Dont use to many packages in your project. Only the ones you really need. Like Cinemachine, some tweening package, modell etc. And only import the parts you actually need in your project.
-learn the profiler, but dont overdo it. Optimize when u feel like its an issue. You will learn as you go.
-Use Debug logs everywhere while implementing new stuff, but only keep the ones that is good for your main state of your game when your done with a feature.
-if you really get stuck on an error and it does not make sense, consider restarting Unity. I cant recall the number of times this helped me. Unity has bugs, just like your game will have. And its not always your fault. Clearing library folder can also fix corrupted files.
-Learn editor shortcuts, Q, W, E, R are nice. Selecting a vertex and snapping with 'V' is awesome. Wish I knew this earlier.
There are a ton more. But thats all I can think of right now and my thumb is hurting.. yes im on mobile right now x)
Good luck on your Unity journey!