1) 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 are the characteristics of Unity3D?
Characteristics of Unity is
- It is a multi-platform game engine with features like ( 3D objects, physics, animation, scripting, lighting etc.)
- Accompanying script editor
- MonoDevelop (win/mac)
- It can also use Visual Studio (Windows)
- 3D terrain editor
- 3D object animation manager
- GUI System
- Many platforms executable exporter Web player/ Android/Native application/Wii
In Unity 3D, you can assemble art and assets into scenes and environments like adding special effects, physics and animation, lighting, etc.
3) Mention important components of Unity 3D?
Some important Unity 3D components include
- Toolbar: It features several important manipulation tools for the scene and game windows
- Scene View: It is a fully rendered 3 D preview of the currently open scene is displayed and enables you to add, edit and remove GameObjects
- Hierarchy: It displays a list of every GameObject within the current scene view
- Project Window: In complex games, project window searches for specific game assets as needed. It explores the assets directory for all textures, scripts, models and prefabs used within the project
- Game View: In unity you can view your game and at the same time make changes to your game while you are playing in real time.
4) Mention what is the function of Inspector in Unity 3D?
The inspector is a context-sensitive panel, where you can adjust the position, scale and rotation of Game Objects listed in Hierarchy panel.
5) Explain what is Prefabs in Unity 3D?
Prefab in Unity 3D is referred for pre-fabricated object template (Class combining objects and scripts). At design time, a prefab can be dragged from project window into the scene window and added the scene’s hierarchy of game objects. If desired the object then can be edited. At the run time, a script can cause a new object instance to be created at a given location or with a given transform set of properties.
6) Explain what is an Unity3D file and how can you open a unity3d file?
A Unity3D files are scene web player files created by Unity; an application used to develop 3D games. These files consist of all assets and other game data in a single archive, and are used to enable gameplay within a browser that has the Unity Web Player Plugin. The assets within a 3D unity file are saved in a proprietary closed format.
7) List out 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.
8) Explain what is Fixed Timestep in Unity3D? Why does Fixed Timestep setting affect game speed?
Fixed Timestep feature helps to set the system updates at fixed time interval. A queue like mechanism will manage all real-time events that are accumulated between time epochs. If frame-rate drops below some threshold limit set for fixed timestep, then it can affect the game speed.
9) In Unity 3D how can you hide gameobject?
To hide gameobject in Unity 3D, you have to use the code
10) List out the pros and cons of Unity 3D?
|Pros ||Cons |
- Compared to Unreal Engine it has got low graphics quality
- Unity provides an Asset store where you can buy or find stuff, that you want to use in your games
- Interface not user-friendly and it is hard to learn especially for beginners
- You can customize your own shaders and change the way how Unity renders the game
- It requires good programming knowledge as such most of the stuff runs on Scripts
- It is great platform for making games for mobile devices like iOS, Android and Web (HTML5)
11) Explain what is the use of AssetBundle in Unity3D?
AssetBundles are files that can be exported from Unity to contain asset of your choice. AssetBundles are created to simply downloading content to your application.
12) List out some key features of Unity3D UE4 ( Unreal Engine 4)?
|UE4 ||Unity3D |
- Game logic is written in C++ or blueprint editor
- Game logic is written using the Mono environment
| || |
- Base scene object- GameObject
- Input Events- Component UInputComponent of Actor class
- Input events- Class Input
- Main classes and function of UE4 includes int32,int24, Fstring, Ftransform, FQuat, FRotator, Actor and TArray
- Main classes and function include int,string,quaternion,transform, rotation, gameobject, Array
- To create a new instance of a specified class and to point towards the newly created Actor. UWorld::SpawnActor() may be used
- To make a copy of an object you can use the function Instantiate()
- UI of Unreal Engine 4 is more flexible and less prone to crashes
- The asset store of this tool is much better stacked than UE4
- It does not support systems like X-box 360 or PS3, it requires AMD Radeon HD card to function properly
- It supports wide range of gaming consoles like X-box and PS4, as well as their predecessors
- Less expensive compare to Unity3D
- Unity3D has free version which lacks few functionality while pro version is bit expensive in compare to UE4
- To use UE4 you don’t need programming language knowledge
- It requires programming language knowledge