1. Explain what Is Unity 3d?

Unity 3D is a powerful cross-platform and fully integrated development engine which gives out-of-box functionality to create games and other interactive 3D content.

2. What is number of Unverified Transactions?

The total number of IAP transactions, whether or not they have been verified.

IAP transactions include Unity IAP purchases and purchases reported using the Analytics.Transaction() function.

3. Please explain why Vectors Should Be Normalized When Used To Move An Object?

Normalization makes the vector unit length. It means, for instance, that if you want to move with speed 20.0, multiplying speed * vector will result in a precise 20.0 units per step. If the vector had a random length, the step would be different than 20.0 units.

4. What is sessions per User?

The average number of sessions per person playing on a given day.
Also known as Average Number of Sessions per DAU.

5. Tell us 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.

6. What is MAU (Monthly Active Users)?

The number of players who started a session within the last 30 days.

7. Tell me the Pros And Cons Of Unity 3d?

Pros:
► It uses JavaScript and C# language for scripting
► Unity provides an Asset store where you can buy or find stuff, that you want to use in your games
► You can customize your own shaders and change the way how Unity renders the game
► It is great platform for making games for mobile devices like iOS, Android and Web (HTML5)

Cons:
► Compared to Unreal Engine it has got low graphics quality
► Interface not user-friendly and it is hard to learn especially for beginners
► It requires good programming knowledge as such most of the stuff runs on Scripts.

8. What is total Verified Revenue?

Revenue from Unity Ads and verified IAP transactions. IAP verification is currently supported by the Apple App Store and the Google Play Store.

9. Tell us some Best Practices For Unity 3d?

► Cache component references: Always cache reference to components you need to use your scripts

► Memory Allocation: Instead of instantiating the new object on the fly, always consider creating and using object pools. It will help to less memory fragmentation and make the garbage collector work less

► Layers and collision matrix: For each new layer, a new column and row are added on the collision matrix. This matrix is responsible for defining interactions between layers

► Raycasts: It enables to fire a ray on a certain direction with a certain length and let you know if it hit something

► Physics 2D 3D: Choose physics engine that suits your game

► Rigidbody: It is an essential component when adding physical interactions between objects

► Fixed Timestep: Fixed timestep value directly impacts the fixedupdate() and physics update rate.

10. Please explain why Time.deltatime Should Be Used To Make Things That Depend On Time Operate Correctly?

Real time applications, such as games, have a variable FPS. They sometimes run at 60FPS, or when suffering slowdowns, they will run on 40FPS or less.

If you want to change a value from A to B in 1.0 seconds you can't simply increase A by B-A between two frames because frames can run fast or slow, so one frame can have different durations.

The way to correct this is to measure the time taken from frame X to X+1 and increment A, leveraging this change with the frame duration deltaTime by doing A += (B-A) * DeltaTime.

When the accumulated DeltaTime reaches 1.0 second, A will have assumed B value.

Download Interview PDF