1. Do you know what a vertex shader is, and what a pixel shader is?

Vertex shader is a script that runs for each vertex of the mesh, allowing the developer to apply transformation matrixes, and other operations, in order to control where this vertex is in the 3D space, and how it will be projected on the screen.

Pixel shader is a script that runs for each fragment (pixel candidate to be rendered) after three vertexes are processed in a mesh's triangle. The developer can use information like the UV / TextureCoords and sample textures in order to control the final color that will be rendered on screen.

2. What is animation State Machine?

A graph controlling the interaction of Animation States. Each state references an Animation Blend Tree or a single Animation Clip.

3. What is translate DoF?

The three degrees-of-freedom associated with translation (movement in X,Y & Z) as opposed to rotation.

4. What is retargeting?

Applying animations created for one model to another.

5. What are asset Components?

Assets are the models, textures, sounds and all other "content" files from which you make your game.

6. What is strategy?

Strategy games require the player to take on a leadership role and oversee every detail of the provided scenario(s). Gameplay focuses on strategies and careful planning and resource management in order to win.

7. What is platform?

Platformers are games in which the player jumps from platform to platform. Game-play generally includes running and jumping.

8. Explain me classic Arcade?

Classic arcade games refer to games that originally existed on freestanding coin-operated machines, Generally with a pixel art feel and style.

9. Explain me arrange the event functions listed below in the order in which they will be invoked when an application is closed:

Update()
OnGUI()
Awake()
OnDisable()
Start()
LateUpdate()
OnEnable()
OnApplicationQuit()
OnDestroy()?

The correct execution order of these event functions when an application closes is as follows:

☛ Awake()
☛ OnEnable()
☛ Start()
☛ Update()
☛ LateUpdate()
☛ OnGUI()
☛ OnApplicationQuit()
☛ OnDisable()
☛ OnDestroy()

Note: You might be tempted to disagree with the placement of OnApplicationQuit() in the above list, but it is correct which can be verified by logging the order in which call occurs when your application closes.

10. What is animation Layer?

An Animation Layer contains an Animation State Machine that controls animations of a model or part of it. An example of this is if you have a full-body layer for walking or jumping and a higher layer for upper-body motions such as throwing an object or shooting. The higher layers take precedence for the body parts they control.

Download Interview PDF

11. What is inverse Kinematics (IK)?

The ability to control the character's body parts based on various objects in the world.

12. What is skinning?

The process of binding bone joints to the character's mesh or ‘skin'. Performed with an external tool, such as Max or Maya.

13. What is advergames?

Games developed for advertising purposes.

14. Explain me in a few words, what roles the inspector, project and hierarchy panels in the Unity editor have. Which is responsible for referencing the content that will be included in the build process?

The inspector panel allows users to modify numeric values (such as position, rotation and scale), drag and drop references of scene objects (like Prefabs, Materials and Game Objects), and others. Also it can show a custom-made UI, created by the user, by using Editor scripts.

The project panel contains files from the file system of the assets folder in the project's root folder. It shows all the available scripts, textures, materials and shaders available for use in the project.

The hierarchy panel shows the current scene structure, with its GameObjects and its children. It also helps users organize them by name and order relative to the GameObject's siblings. Order dependent features, such as UI, make use of this categorization.

The panel responsible for referencing content in the build process is the hierarchy panel. The panel contains references to the objects that exist, or will exist, when the application is executed. When building the project, Unity searches for them in the project panel, and adds them to the bundle.

15. Tell me why deferred lighting optimizes scenes with a lot of lights and elements?

During rendering, each pixel is calculated whether it should be illuminated and receive lightning influence, and this is repeated for each light. After approximately eight repeated calculations for different lights in the scene, the overhead becomes significant.

For large scenes, the number of pixels rendered is usually bigger than the number of pixels in the screen itself.

Deferred Lighting makes the scene render all pixels without illumination (which is fast), and with extra information (at a cost of low overhead), it calculates the illumination step only for the pixels of the screen buffer (which is less than all pixels processed for each element). This technique allow much more light instances in the project.

16. What is animator Controller?

The Animator Controller controls animation through Animation Layers with Animation State Machines and Animation Blend Trees, controlled by Animation Parameters. The same Animator Controller can be referenced by multiple models with Animator components.

17. What is TPS?

'Third Person Shooters' offer players a third person perspective of their character.

18. What is racing?

Racing games involve the player competing in races, generally in vehicles.

19. What is adventure?

Adventure games involve exploration of, and interaction with, the environment as a main facet of gameplay.

20. Explain me which of the following examples will run faster?

1000 GameObjects, each with a MonoBehaviour implementing the Update callback.
One GameObject with one MonoBehaviour with an Array of 1000 classes, each implementing a custom Update() callback.

The correct answer is 2.

The Update callback is called using a C# Reflection, which is significantly slower than calling a function directly. In our example, 1000 GameObjects each with a MonoBehaviour means 1000 Reflection calls per frame.

Creating one MonoBehaviour with one Update, and using this single callback to Update a given number of elements, is a lot faster, due to the direct access to the method.

21. What is root Motion?

Motion of character's root, whether it's controlled by the animation itself or externally.

22. What is avatar?

An interface for retargeting one skeleton to another.

23. What are sports?

Sports Games emulate traditional physical sports such as basketball and golf.

24. What is animation Blend Tree?

Used for continuous blending between similar Animation Clips based on float Animation Parameters.

Download Interview PDF

25. What is animation Curves?

Curves can be attached to animation clips and controlled by various parameters from the game.