All Practice Exams

100+ Free Unity Certified Associate: Programmer Practice Questions

Pass your Unity Certified Associate: Programmer exam on the first try — instant access, no signup required.

✓ No registration✓ No credit card✓ No hidden fees✓ Start practicing immediately
100+ Questions
100% Free
1 / 100
Question 1
Score: 0/0

Which statement best describes a Prefab in Unity?

A
B
C
D
to track
2026 Statistics

Key Facts: Unity Certified Associate: Programmer Exam

$259

Exam Voucher (USD)

Unity Education Store (Pearson VUE)

100

Number of Questions

Unity

90 minutes

Time Limit

Unity

500 / 700

Passing Score (200-700 scale)

Unity

Unity 6

Exam Version Basis

Unity

3 years

Certification Validity

Unity

Unity lists the Certified Associate: Programmer exam as 100 multiple-choice questions in 90 minutes, scored 200-700 with a passing score of 500, for a $259 voucher delivered through Pearson VUE. The exam is based on Unity 6 and covers four areas: Unity Programming (C#, MonoBehaviour, coroutines, physics, data persistence), Debugging (Console, null references, profiling), UI (Canvas, anchors, UnityEvent), and Asset Management (prefabs, variants, version control). The certification is valid for three years.

Sample Unity Certified Associate: Programmer Practice Questions

Try these sample questions to test your Unity Certified Associate: Programmer exam readiness. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.

1In a MonoBehaviour, which method runs exactly once and is the recommended place to cache references with GetComponent before any Start methods are called?
A.Awake
B.Update
C.FixedUpdate
D.OnEnable
Explanation: Awake is called once when the script instance is being loaded, before any Start method on any object, making it the standard place to cache component references and set up internal state. Because all Awake calls complete before any Start call, you can safely reference other objects' cached data in Start.
2You need a variable that holds a whole number of player lives and never needs decimals. Which C# data type is the most appropriate choice?
A.float
B.int
C.string
D.bool
Explanation: int stores 32-bit whole numbers, which exactly matches a count of lives that is always an integer. Using the correct numeric type avoids the rounding and comparison issues that come with floating-point values and keeps memory use minimal.
3Which Unity method should contain code that must run on the physics timestep, such as applying a force to a Rigidbody?
A.Update
B.LateUpdate
C.FixedUpdate
D.Start
Explanation: FixedUpdate is called on the fixed physics timestep and is synchronized with the physics engine, so Rigidbody forces and velocity changes belong there for consistent, frame-rate-independent simulation. Update runs once per rendered frame at a variable rate, which would make physics behavior inconsistent.
4A script needs to access the Rigidbody attached to the same GameObject. Which line correctly retrieves and stores that component?
A.Rigidbody rb = FindObjectOfType();
B.Rigidbody rb = new Rigidbody();
C.Rigidbody rb = AddComponent<Rigidbody>();
D.Rigidbody rb = GetComponent<Rigidbody>();
Explanation: GetComponent<Rigidbody>() returns the Rigidbody component already attached to the same GameObject the script is on, which is the standard way to reference sibling components. It is best called once in Awake or Start and cached rather than called every frame.
5You need to store an ordered, resizable collection of enemy GameObjects that you frequently add to and remove from at runtime. Which data structure is the best fit?
A.List<GameObject>
B.Array (GameObject[])
C.Dictionary<int, GameObject>
D.bool[]
Explanation: List<GameObject> is a resizable, ordered generic collection that supports Add and Remove at runtime without manually managing the underlying capacity. A fixed-size array would require allocating a new array to change its length, making it a poor fit for frequently changing collections.
6Which collection should you choose when you need fast lookup of a value by a unique key, such as retrieving a player's score using that player's id?
A.List<int>
B.Dictionary<int, int>
C.Array
D.Queue<int>
Explanation: A Dictionary<TKey, TValue> stores key-value pairs and provides near constant-time lookup by key, which is ideal for fetching a score from a player id. Lists and arrays would require a linear search to find an element matching a particular id.
7In C#, what is the key difference between an interface and a base class used for inheritance?
A.An interface can contain field variables but a base class cannot
B.A class can inherit from many base classes but implement only one interface
C.An interface only defines a contract of members with no implementation, while a base class can provide concrete implementation and state
D.Interfaces are slower than base classes at runtime in all cases
Explanation: An interface declares members that implementing types must provide but contains no instance fields or implementation, defining only a contract. A base class can supply concrete method bodies and fields, and a C# class can implement multiple interfaces but inherit from only one base class.
8Which approach lets simple data, such as the player's high score, persist between separate play sessions of a Unity application?
A.A public field on a MonoBehaviour
B.A static variable in a regular C# class
C.A local variable inside Update
D.PlayerPrefs
Explanation: PlayerPrefs writes small key-value data to disk using SetInt, SetFloat, or SetString, so it survives the application being closed and reopened. Static variables and fields only live in memory and are lost when the application quits.
9Which technique is commonly used to keep a value, such as the selected difficulty, available across multiple scenes within a single play session without writing to disk?
A.A static variable on a class that survives scene loads
B.A const declared inside Update
C.Reloading the scene with SceneManager
D.Setting the variable in OnDestroy
Explanation: A static variable belongs to the type rather than an instance, so its value remains in memory even as scenes are loaded and unloaded during the same session. This is a standard lightweight way to carry data such as difficulty or current level between scenes without disk I/O.
10Which SceneManager call loads a new scene by name, replacing the currently active scene?
A.Application.Quit("Level2")
B.SceneManager.LoadScene("Level2")
C.Instantiate("Level2")
D.Destroy("Level2")
Explanation: SceneManager.LoadScene loads the named scene, and in its default Single mode it unloads the current scene and replaces it. The scene must be added to the Build Settings scene list for it to load by name.

About the Unity Certified Associate: Programmer Exam

The Unity Certified Associate: Programmer exam validates job-ready C# programming skills in Unity for creators ready to apply for their first professional Unity programming role. Based on Unity 6, it tests four areas: Unity Programming (writing and evaluating code, data types and structures, OOP, the MonoBehaviour lifecycle, Instantiate and Destroy, input, physics, coroutines, scene transitions, and data persistence with static variables and PlayerPrefs), Debugging (Console messages, null references, compilation errors, refactoring, and profiling), UI (Canvas anchors and pivots, displaying data, and the UnityEvent system), and Asset Management (prefabs, nested prefabs and variants, importing assets, and version control). The exam is 100 multiple-choice questions in 90 minutes, scored on a 200-700 scale with a passing score of 500.

Questions

100 scored questions

Time Limit

90 minutes

Passing Score

500 on a 200-700 scale

Exam Fee

$259 (Unity Technologies (delivered by Pearson VUE))

Unity Certified Associate: Programmer Exam Content Outline

~48%

Unity Programming

Determine and evaluate C# code for a specified interaction or logic; choose appropriate data types (float, bool, string, int) and data structures (lists, arrays, dictionaries); apply inheritance and interfaces; use the MonoBehaviour lifecycle (Awake, Start, Update, FixedUpdate), GetComponent, Instantiate and Destroy, Input, physics callbacks, and coroutines; implement scene transitions and save data with static variables and PlayerPrefs; and build to WebGL or a personal computer.

~20%

Debugging

Program Debug.Log messages and read the Console to find why code fails; identify compilation errors and null-variable errors from a code block; use breakpoints and step through code; refactor and improve code to fit defined coding standards; and select appropriate profiling tools, such as the Profiler, to locate performance problems like garbage-collection spikes.

~16%

UI

Arrange UI components on the Canvas using anchors, pivots, and layout groups according to a defined layout; identify how to display data in UI elements such as Text and TextMeshPro; and use the UnityEvent system, including Button OnClick and Slider OnValueChanged, to respond to user input.

~16%

Asset Management

Explain how to use prefabs in a scene; describe the process and outcomes of changing a nested prefab or prefab variant and applying or reverting overrides; import assets or code from the Asset Store or Package Manager and resolve resulting conflicts; and explain the primary purposes of version control when working in Unity.

How to Pass the Unity Certified Associate: Programmer Exam

What You Need to Know

  • Passing score: 500 on a 200-700 scale
  • Exam length: 100 questions
  • Time limit: 90 minutes
  • Exam fee: $259

Keys to Passing

  • Complete 500+ practice questions
  • Score 80%+ consistently before scheduling
  • Focus on highest-weighted sections
  • Use our AI tutor for tough concepts

Unity Certified Associate: Programmer Study Tips from Top Performers

1Master the MonoBehaviour lifecycle order: Awake for caching references with GetComponent, Start before the first frame, Update for input and per-frame logic, and FixedUpdate for Rigidbody physics.
2Practice choosing data structures and types: List for resizable ordered collections, Dictionary for keyed lookup, arrays for fixed sets, and int versus float versus bool versus string for the right job.
3Be fluent with coroutines: an IEnumerator method, StartCoroutine to run it, yield return null to wait a frame, and WaitForSeconds (cached to avoid garbage) to wait a duration.
4Know data persistence: static variables carry data between scenes within a session, while PlayerPrefs writes small key-value data to disk to survive across sessions.
5Drill debugging skills: read Console messages and stack traces, recognize NullReferenceException and CS compiler errors, set breakpoints to inspect values, and use the Profiler to find performance and garbage-collection problems.
6Understand prefabs end to end: creating, instantiating, overrides and apply/revert, nested prefabs, and prefab variants, plus why version control matters for a Unity team.

Frequently Asked Questions

What are the current exam facts for the Unity Certified Associate: Programmer exam?

Unity lists the exam as 100 multiple-choice questions in 90 minutes, scored on a 200-700 scale with a passing score of 500. The voucher costs about $259 USD, it is delivered through Pearson VUE, and the exam is based on Unity 6.

What does the Associate: Programmer exam cover?

It covers four areas: Unity Programming (C#, MonoBehaviour, data structures, coroutines, physics, scene transitions, and PlayerPrefs), Debugging (Console, null references, compilation errors, and profiling), UI (Canvas anchors, pivots, and the UnityEvent system), and Asset Management (prefabs, variants, importing assets, and version control).

What score do I need to pass?

Unity exams use a scale of 200 to 700, and the passing score is 500. Any score of 500 or above is a pass; Unity does not report the exact number or percentage of items answered correctly.

Which Unity version is the exam based on?

The Certified Associate: Programmer exam is based on Unity 6, so practice with current Unity 6 APIs such as SceneManager, the MonoBehaviour lifecycle, prefab variants, and the Profiler.

How long is the certification valid?

Unity certifications are valid for three years from your certification date. To maintain certified status after three years, you must retake the exam.

How should I prepare for the exam?

Work through Unity's free Junior Programmer pathway on Unity Learn, build small projects that use coroutines, physics, prefabs, and UI, and drill the four exam areas. Reading and interpreting Unity's API documentation is itself a tested skill, so practice deriving behavior from method signatures.