Hello everyone………. How are you all? I am all okay 🙂 So today I want to write about a very important topic.Interview questions for junior unity developer Many of us who start game development career face a lot of difficulties while starting his/her career. I guess the most faced difficulty is where to start , how to start. We become very much confused with what to learn. In this post I will point out things that a game developer should know.
OOPs Concepts
First of all I will say you must have the proper understanding of OOP (Object oriented programming). Its really a must. You should practically implement the basics of OOP in small projects, not only read the theory.
The key concepts of OOPs are
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
In some other post I will try to write details about OOP concepts and try to relate to present some examples how we use OOP concepts in unity.
The Solid Principles :
The SOLID Principles are five principles of Object-Oriented class design. They are a set of rules and best practices to follow while designing a class structure.
SOLID is a mnemonic acronym for five core fundamentals of software design:
- (S) Single responsibility
- (O) Open-closed
- (L) Liskov substitution
- ( I ) Interface segregation
- (D) Dependency inversion
In some other post I will write details about The Solid principles explaining each fundamentals.
Game programming patterns:
Each and every game programmer should learn about programming patterns and principles. Many of us just do coding without following any patterns or principles. Actually we try to ignore good programming practices because in the beginning we do small projects and without following any pattern our game works nicely. But in the long run we will face difficulties. Its a must. Patterns are not anything too complex. It make our work easy. If you ask why we should follow programming patterns then I will say why patterns were created ! Because someone before you faced some problem and they created pattern to solve that problem. So of course when we will deal with same kind of problem its better to use the pattern , na? And yeah of course you can create your own pattern if that solve the problem better, with more efficiency !
There are lots of programming patterns. But there are some most used patterns i will suggest every programmer should know. Those are:
- Singleton pattern
- Observer pattern
- Object pooling
- State pattern
- Command pattern
- Factory pattern
- MVP (Model view presenter)
I will write about each Patterns in single posts for each and try to give real example related to unity.
Some other Things a unity game programmer must know is :
- Unity script life cycle
- Difference between awake , start
- Differences between Update, fixed update, late update
- Usage of co routines , invokes
- Events
- Delegates
- Interfaces
- Generics
- Learn about vectors
All these were related to programming. Some other Unity engine related things a unity developer should know are,
- Animations
- Blend trees
- Usage of Different colliders (OnCollision , OnTrigger)
- Usage of Rigidbody
- Usage of different Canvas (Screen Space, World Space)
- Learn about canvas Scaler
- Get some Idea about Unity profiler
- Get good grasp on overall unity components
Okay, for now I can’t remember anything else. I mean there are lots of other things. But for a junior developer these things are enough I guess. If we can have a good Idea about these topics then I guess it will help us a lot in job interviews and in our overall game developer career.