Certified Professional: Programmer Exam Prep
Free practice questions

Free UCP-PROG Practice Questions

10 exam-style questions with answers and explanations, straight from our 1,030-question bank. Tap an answer to check yourself. When you're ready, take the scored version in the free practice test.

Start the free practice test → ★★★★★4.9/5 from 2,400+ candidates · No signup

These 10 free UCP-PROG questions are organized by exam domain, so you can see how each part of the Certified Professional: Programmer blueprint is tested. Reveal the answer and explanation under each question.

Domain 1: Programming core interactions

Question 1

A Unity 2022.3 controller uses the legacy Input Manager. Each press of Jump must produce one Rigidbody impulse, but some rendered frames contain no physics step and others contain several. At most one new press occurs between physics steps. How should the controller preserve a press without applying it twice?

Show answer & explanation

Correct answer: B - Latch GetButtonDown in Update; consume and clear the pending request once in FixedUpdate.

Question 2

A sentry stands at world position (0, 0, 0), facing +Z. Its detection range is 12 units, and a target must be within 40 degrees of its forward direction. Targets passing both tests require a separate, unobstructed line-of-sight raycast before an alert is raised. A target is at (6, 0, 8); cos(40 degrees) is approximately 0.766. How should the sentry process this target?

Show answer & explanation

Correct answer: C - Perform the line-of-sight raycast: distance and viewing angle both pass.

Domain 2: Working in the art pipeline

Question 3

In the Unity 2022.3 Built-in Render Pipeline, a warehouse scene contains hundreds of crates using one shared material. Selected crates need different tint colors, but the material count must remain unchanged. The shader exposes a per-renderer _Color property; textures and render state do not change. Choose the implementation that meets these requirements.

Show answer & explanation

Correct answer: D - Set _Color in a reusable MaterialPropertyBlock and apply it to each selected renderer with SetPropertyBlock.

Question 4

An Animator transition from Run to Brake requires BrakeRequested == true and Grounded == true. Has Exit Time is enabled with an exit time of 0.8. Both parameters become true while Run is at normalized time 0.35, but braking is delayed. There are no competing transitions. The designer wants the transition to become eligible as soon as both parameters are true. The controller edit should be to:

Show answer & explanation

Correct answer: A - Clear Has Exit Time on the transition and keep both parameter conditions.

Domain 3: Developing application systems

Question 5

Closing a settings dialog sets its CanvasGroup alpha to 0. The invisible dialog still prevents pointer clicks on the menu beneath it, although keyboard navigation can activate the menu buttons. Both panels share one Canvas and GraphicRaycaster. The dialog must remain active for a later fade-in. Which property change removes the obstruction without disabling input to the menu?

Show answer & explanation

Correct answer: D - Set blocksRaycasts to false on the hidden dialog's CanvasGroup.

Question 6

A live Unity game has a currency-grant endpoint that trusts a client-supplied purchaseSucceeded flag. Operations staff confirm that forged requests are creating paid currency without store purchases. Existing clients will remain installed after the next update, but the backend can be changed immediately. Which response closes the exploitable trust boundary?

Show answer & explanation

Correct answer: A - Require server-side receipt validation at the endpoint before granting paid currency.

Domain 4: Programming for scene and environment design

Question 7

A Unity 2022.3 loading coroutine reaches progress 0.9 and continues animating the loading screen indefinitely. The player has already confirmed entry, so activation no longer needs to be delayed. The relevant code is: var load = SceneManager.LoadSceneAsync("Arena", LoadSceneMode.Additive); load.allowSceneActivation = false; while (!load.isDone) yield return null; load.allowSceneActivation = true; Where must the activation assignment move to remove the circular wait?

Show answer & explanation

Correct answer: C - Before the isDone loop, now that the player has confirmed entry.

Domain 5: Optimization of performance and platforms

Question 8

A desktop build targeting 60 fps is profiled on its intended hardware with VSync and frame-rate limiting disabled. CPU work takes 7 ms and GPU rendering takes 23 ms per frame; the CPU also spends substantial time waiting for presentation. Reducing only the render resolution lowers GPU time to 12 ms while CPU work stays near 7 ms. What should the next optimization experiment target?

Show answer & explanation

Correct answer: A - Pixel-dependent GPU work, such as transparent overdraw and expensive full-screen effects.

Domain 6: Working in software development teams

Question 9

An artist moves a prefab using the operating system and omits its .meta file. Unity imports the prefab at its new path with a new GUID. Several unchanged scenes now have missing references, while the original .meta file is still available in version control. What is the least disruptive repair that preserves the scenes' existing asset references?

Show answer & explanation

Correct answer: B - Restore the original .meta beside the moved prefab and commit the matching asset and metadata.

Domain 7: Common C# programming constructs

Question 10

A customization component contains the following struct and method. System.Collections.Generic is imported, and no serialization occurs during the method. What does the final log report? struct Loadout { public int ActiveSlot; public List<int> Unlocked; } void InspectPreview() { var saved = new Loadout { ActiveSlot = 0, Unlocked = new List<int> { 2 } }; var preview = saved; preview.ActiveSlot = 1; preview.Unlocked.Add(5); Debug.Log($"{saved.ActiveSlot}: {string.Join(",", saved.Unlocked)}"); }

Show answer & explanation

Correct answer: C - 0: 2,5

That's 10 of 1,030

The full bank has 1,020 more UCP-PROG questions with explanations.

Continue in the free practice test →

View plans