Unity Certified Programmer
Unity Certified Programmer
Programmer
Prerequisite experience:
• 2+ years practical experience in video game or 3D interactive programming
using Unity
• 2+ years practical experience in computer programming including C#
• Experience in the full software development lifecycle working from concept
through completion
• Understanding of professional applications for software development with
Unity including game development, interactive entertainment, and design
visualization
• Basic understanding of the visual/3D asset and animation pipeline in Unity,
including character and environment setups
• Understanding of professional team software development practices including
unit testing and version control
• Knowledge of Unity Services for collaboration, monetization, live operations,
and multiplayer
• Understanding of mathematics critical to 3D interactive development, including
linear algebra and matrix operations
The art style for the panels and buttons should be consistent (color, texture, button transition
type, etc.), but the art director has not locked these decisions down yet. She would like to work
on these settings concurrently with the Programmer’s UI work. Her changes would take effect
on all new and existing objects in the scene.
What would be the best way for the Programmer to use Unity’s functionality to easily create
a functional menu system while meeting the requirement of allowing the Art Director to work
concurrently (and independently) on the look and feel?
A Create subclasses for UI.Button and UI.Panel, and set the look and feel values
programmatically.
B Create new button and panel materials, and assign them to all buttons and panels in the
scene.
C Use prefabs for the button and panel, and have the art director modify the prefabs.
D Write a script to search/replace values in the scene file based on the art director’s input.
What is the most performant way to prevent new trains from overlapping with trains already on
the same track?
A When spawning a train on the track, determine a spawn position that will avoid the problem
by using the speeds of the new train and the train last placed on that track as well as the point
at which the train last placed on the track will de-spawn as it passes the player.
B When a train is moving, raycast forward from the front of the train, and push any train hit by
the raycast forward with the faster train’s speed.
C When spawning a train on the track, add a Rigidbody to it, and then use forces to move
trains.
D When spawning a train on the track, use a BoxCast with a length proportional to the train’s
speed to ensure that it will not collide with another train until it is behind the Camera.
void Start()
{
Light light = GetComponent<Light>();
light.lightMapBakeType = LightMapBakeType.Mixed;
light.type = LightType.Area;
light.shadows = LightShadows.Soft;
light.range = 5f;
}
void Update()
{
GetComponent<Light>().intensity = Mathf.PerlinNoise(Time.time, 0);
}
The torch does not cast any light or shadow during runtime. The light is set to the default
values in the Unity Editor.
What should the Programmer change for this code to work as required?
B Set light.range to 10
How should the Programmer manipulate the AudioReverbZone properties to meet these
requirements?
B Increase the maxDistance of both ReverbZones so that they touch within the new
connecting area.
void LevelLoading(){
AsyncOperation async = SceneManager.LoadSceneAsync(“Level_01”);
while (!async.isDone)
{
yield return null;
}
}
C Change SceneManager.LoadSceneAsync(“Level_01”) to
Application.LoadLevelAdditiveAsync(“Level_01”)
Which change should be made to the axis in the input system to resolve this issue?
A Increase Gravity
C Increase Deadzone
D Decrease Sensitivity
What is the most reliable method for the Programmer to store the score data?
A Use DontDestroyOnLoad() on the GameObject holding the score data and upload data to a
server right before application quits.
B Save score in to PlayerPrefs every time it gets updated and uploaded to a server right
before the application quits.
C Use a static value to store the score data so it will be available in the next play session .
D Use data serialization to persistently store the score data and upload it to a server.
Correct Answers: C, A, D, B, B, C, D