













































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The Unity Certified Programmer Ultimate Exam is a professional-level programming preparation resource covering C# scripting, gameplay systems, debugging, optimization, object-oriented programming, physics integration, artificial intelligence, and software architecture within Unity projects. It prepares developers to build efficient, scalable, and interactive game applications.
Typology: Exams
1 / 53
This page cannot be seen from the preview
Don't miss anything!














































Question 1. Which Unity component should be used when you need deterministic physics simulation across different platforms? A) Rigidbody B) Rigidbody2D C) ArticulationBody D) CharacterController Answer: C Explanation: ArticulationBody provides joint-based physics with deterministic behavior, making it suitable for simulations that must produce identical results on all platforms. Question 2. In Unity’s new Input System, which asset defines the mapping between physical controls and in-game actions? A) Input Manager B) Action Map C) Input Device D) Control Scheme Answer: B Explanation: An Action Map groups related actions (e.g., “Move”, “Jump”) and defines how they map to specific device inputs. Question 3. Which method is the most efficient way to check for objects directly in front of a player without allocating memory each frame? A) Physics.Raycast B) Physics.RaycastAll C) Physics.SphereCastNonAlloc D) Physics.BoxCast Answer: C
Explanation: RaycastNonAlloc or SphereCastNonAlloc reuse a pre-allocated array, avoiding GC allocations that occur with the standard RaycastAll. Question 4. When using Cinemachine, which virtual camera property controls how quickly the camera follows its target? A) Damping B) Field of View C) Lens Shift D) Orthographic Size Answer: A Explanation: Damping values smooth the camera’s movement, determining the speed of follow and look-at behavior. Question 5. To change a shader’s float property at runtime without creating a new material instance, you should use: A) Material.SetFloat B) Renderer.sharedMaterial C) MaterialPropertyBlock D) Graphics.DrawMesh Answer: C Explanation: MaterialPropertyBlock lets you modify per-renderer material values without cloning the material, preventing memory leaks. Question 6. Which Unity attribute marks a field so it can be edited in the Inspector but not serialized? A) [SerializeField] B) [HideInInspector] C) [NonSerialized] D) [ReadOnly]
C) It must implement ISerializable. D) It must be a ScriptableObject. Answer: B Explanation: JsonUtility only serializes fields of classes marked with the [Serializable] attribute. Question 10. Which UI component is required to receive UnityEvent callbacks from a Button click? A) Canvas B) EventSystem C) GraphicRaycaster D) RectTransform Answer: B Explanation: The EventSystem processes input events and dispatches them to UI components like Buttons. Question 11. What is the primary benefit of using Addressables over Resources.Load? A) Faster runtime performance due to compile-time linking. B) Automatic asset bundling and remote content updates. C) No need for AssetBundles. D) Ability to load assets only in the Editor. Answer: B Explanation: Addressables manage asset groups, support remote hosting, and handle asynchronous loading with better memory management. Question 12. Which Unity Profiler module shows the number of draw calls per frame?
A) CPU Usage B) Rendering C) Memory D) Physics Answer: B Explanation: The Rendering module lists draw call counts, shader passes, and other GPU-related metrics. Question 13. In DOTS, which system processes entities in parallel while respecting data dependencies? A) MonoBehaviour Update B) IJobParallelFor C) FixedUpdate D) Coroutine Answer: B Explanation: IJobParallelFor schedules work across multiple cores, and the Job System handles dependencies automatically. Question 14. Which quaternion operation is used to rotate a vector by a quaternion? A) q * v * q⁻¹ B) q + v C) q × v D) q • v Answer: A Explanation: The formula q * v * q⁻¹ (where v is treated as a quaternion with w = 0) rotates the vector by quaternion q.
Question 18. In a particle system, which module controls the color over the particle’s lifetime? A) Emission B) Shape C) Color over Lifetime D) Velocity over Lifetime Answer: C Explanation: The Color over Lifetime module defines a gradient that is evaluated as each particle ages. Question 19. Which method is called when a Collider marked as “Is Trigger” detects another Collider entering it? A) OnCollisionEnter B) OnTriggerEnter C) OnCollisionStay D) OnTriggerStay Answer: B Explanation: OnTriggerEnter is invoked for trigger colliders when another collider enters the trigger volume. Question 20. Which Unity class provides a way to schedule a function to run after a delay without blocking the main thread? A) ThreadPool B) Coroutine C) AsyncOperation D) Task Answer: B
Explanation: Coroutines can yield WaitForSeconds, allowing delayed execution without freezing the main loop. Question 21. What is the default space for Transform.Translate when the “Space” parameter is set to Space.Self? A) World space B) Local space of the object C) Camera space D) Viewport space Answer: B Explanation: Space.Self moves the object relative to its own orientation. Question 22. Which of the following is NOT a built-in layer in Unity? A) Default B) TransparentFX C) UI D) Physics2D Answer: D Explanation: Physics2D is not a layer; it is a separate physics system. Question 23. In the new Input System, which type represents a collection of bindings for a specific device? A) Action B) Binding C) Control Scheme D) Interaction Answer: C
Answer: A Explanation: OnMouseDown works only on objects with a Collider that can be hit by the raycast from the mouse. Question 27. Which of the following best describes the purpose of a ScriptableObject? A) To attach behavior to a GameObject. B) To store shared data that can be edited in the Inspector. C) To manage scene loading. D) To render UI elements. Answer: B Explanation: ScriptableObjects hold data assets that can be reused across multiple scenes and objects without being tied to a GameObject. Question 28. In Unity’s lighting system, which mode enables real-time shadows for a directional light? A) Baked B) Mixed C) Realtime D) Subtractive Answer: C Explanation: Realtime mode computes shadows each frame, suitable for dynamic lighting. Question 29. Which of these is a correct way to prevent a MonoBehaviour’s Update method from generating garbage? A) Use new List<> every frame. B) Cache references to components in Awake. C) Call Resources.Load inside Update.
D) Use Debug.Log each frame. Answer: B Explanation: Caching component references avoids repeated GetComponent calls that allocate memory. Question 30. When using Unity Test Framework, which attribute marks a method as a PlayMode test? A) [Test] B) [UnityTest] C) [SetUp] D) [TearDown] Answer: B Explanation: [UnityTest] runs as a coroutine in PlayMode, allowing asynchronous testing of scene behavior. Question 31. Which Unity API provides the ability to query the current platform at runtime? A) Application.platform B) SystemInfo.deviceModel C) RuntimePlatform.Current D) PlatformManager Answer: A Explanation: Application.platform returns an enum indicating the OS or device the game is running on. Question 32. What is the effect of setting Rigidbody.interpolation to Interpolate? A) It disables physics simulation. B) It smooths visual movement between fixed updates.
B) button.onClick.Invoke() C) button.Click() D) button.Press() Answer: B Explanation: onClick is a UnityEvent; calling Invoke() fires all registered listeners. Question 36. What is the purpose of the “Layer Collision Matrix” in the Physics Settings? A) To define which layers render with which cameras. B) To set which layers can collide with each other. C) To assign default materials to layers. D) To control audio occlusion per layer. Answer: B Explanation: The matrix lets you enable or disable collisions between specific layers, improving performance. Question 37. Which of the following is NOT a valid way to create a singleton pattern for a MonoBehaviour? A) Use a static instance variable and assign it in Awake. B) Use DontDestroyOnLoad to persist across scenes. C) Inherit from ScriptableObject. D) Mark the class as sealed and provide a private constructor. Answer: D Explanation: MonoBehaviours cannot have private constructors; they must be instantiated by Unity. Question 38. When using the Job System, which attribute tells the Burst compiler to compile a job for maximum performance?
A) [JobCompile] B) [BurstCompile] C) [Optimize] D) [HighPerformance] Answer: B Explanation: [BurstCompile] directs the Burst compiler to generate highly optimized native code for the job. Question 39. Which Unity component is required to render a particle system that uses the Visual Effect Graph? A) ParticleSystemRenderer B) VisualEffect C) MeshRenderer D) LineRenderer Answer: B Explanation: The VisualEffect component hosts VFX Graph assets and handles their rendering. Question 40. What does the “Occlusion Culling” feature do? A) Prevents invisible objects from being rendered. B) Reduces physics calculations for hidden objects. C) Hides UI elements behind 3D objects. D) Disables audio for objects out of view. Answer: A Explanation: Occlusion Culling skips drawing objects that are blocked by other geometry from the camera’s perspective.
Question 44. What is the primary purpose of the “Graphics.DrawMeshInstanced” API? A) To render a mesh with a custom shader. B) To draw many copies of a mesh with a single draw call. C) To create a mesh at runtime. D) To debug mesh bounds. Answer: B Explanation: Instanced rendering batches identical meshes, reducing draw calls dramatically. Question 45. Which attribute should be placed on a field to make it appear in the Inspector but read-only at runtime? A) [ReadOnly] B) [SerializeField, HideInInspector] C) [SerializeField, Tooltip("Read-Only")] D) Unity does not have a built-in read-only attribute; a custom editor script is required. Answer: D Explanation: Unity provides no native read-only attribute; you must create a custom PropertyDrawer or editor script. Question 46. When using Addressables, which method loads an asset asynchronously and returns an AsyncOperationHandle? A) Addressables.LoadAssetAsync B) Addressables.InstantiateAsync C) Addressables.DownloadDependenciesAsync D) Addressables.InitializeAsync
Answer: A Explanation: LoadAssetAsync retrieves a specific asset type asynchronously, providing a handle to track completion. Question 47. Which of the following statements about Unity’s FixedUpdate is true? A) It runs once per rendered frame. B) Its timestep can be changed in Time.fixedDeltaTime. C) It is called after LateUpdate. D) It is only executed on the main thread. Answer: B Explanation: FixedUpdate runs at a fixed interval defined by Time.fixedDeltaTime, independent of frame rate. Question 48. In a shader, which keyword declares a property that can be overridden per-renderer using MaterialPropertyBlock? A) _Property B) _PerRenderer C) _MaterialProperty D) No special keyword; any property can be overridden via MPB. Answer: D Explanation: All shader properties can be set per renderer using MaterialPropertyBlock; no extra keyword is needed. Question 49. Which Unity API allows you to programmatically trigger a light probe rebake? A) LightProbes.RecalculatePositions B) Lightmapping.BakeAsync C) LightProbeGroup.Bake
C) Contact Offset D) Collision Detection Mode Answer: C Explanation: Contact Offset expands the collider’s bounds to generate contacts earlier, influencing the number of contacts. Question 53. Which component is required for a UI element to receive raycast events? A) Canvas B) CanvasGroup C) GraphicRaycaster D) RectTransform Answer: C Explanation: GraphicRaycaster processes pointer events for UI elements under a Canvas. Question 54. Which of the following best describes the “Burst” compiler’s main advantage? A) It enables multithreading automatically. B) It converts C# code to highly optimized native code. C) It reduces the size of the final build. D) It provides a visual scripting interface. Answer: B Explanation: Burst compiles jobs to SIMD-aware native code, delivering significant CPU performance gains. Question 55. When using Unity’s NavMeshAgent, which property sets the maximum speed the agent can travel?
A) speed B) maxSpeed C) velocity D) movementSpeed Answer: A Explanation: The speed property caps the agent’s movement speed. Question 56. Which of the following is NOT a valid way to reference a scene for asynchronous loading? A) SceneManager.LoadSceneAsync("MyScene") B) SceneManager.LoadSceneAsync(2) C) SceneManager.LoadSceneAsync(SceneReference) where SceneReference is a ScriptableObject. D) SceneManager.LoadSceneAsync(SceneAsset) where SceneAsset is a .unity file reference. Answer: D Explanation: Unity does not provide a direct SceneAsset type for runtime loading; you must use the scene name or build index. Question 57. Which Unity attribute makes a field appear in the Inspector but not be saved with the scene? A) [NonSerialized] B) [HideInInspector] C) [SerializeField] with [DontSave] (invalid) D) Unity has no built-in attribute for this; a custom editor is needed. Answer: D Explanation: Unity always serializes fields shown in the Inspector; preventing save requires a custom editor or runtime handling.