0
0
Unityframework~20 mins

Build settings configuration in Unity - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Unity Build Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output of this Unity build settings code?

Consider this C# script snippet that prints the active build target in Unity. What will it print when run in the Unity Editor?

Unity
using UnityEditor;
using UnityEngine;

public class BuildTargetCheck : MonoBehaviour
{
    void Start()
    {
        Debug.Log(EditorUserBuildSettings.activeBuildTarget);
    }
}
AStandaloneWindows64
BAndroid
CiOS
DWebGL
Attempts:
2 left
💡 Hint

Check the default build target in Unity Editor's Build Settings window.

🧠 Conceptual
intermediate
1:30remaining
Which build setting controls the scripting backend in Unity?

In Unity's build settings, which option controls whether you use Mono, IL2CPP, or other scripting backends?

APlayer Settings > Other Settings > Scripting Backend
BBuild Settings > Scenes In Build
CPlayer Settings > Resolution and Presentation
DBuild Settings > Platform
Attempts:
2 left
💡 Hint

Look inside Player Settings under Other Settings.

Predict Output
advanced
2:30remaining
What happens when you call BuildPipeline.BuildPlayer with an empty scenes array?

Given this code snippet, what will be the result?

Unity
using UnityEditor;

public class BuildTest
{
    public static void BuildEmptyScenes()
    {
        BuildPlayerOptions options = new BuildPlayerOptions();
        options.scenes = new string[] {};
        options.locationPathName = "Builds/MyGame.exe";
        options.target = BuildTarget.StandaloneWindows64;
        options.options = BuildOptions.None;

        var report = BuildPipeline.BuildPlayer(options);
        UnityEngine.Debug.Log(report.summary.result);
    }
}
ABuildResult.Succeeded
BBuildResult.Failed
CBuildResult.Cancelled
DThrows an exception
Attempts:
2 left
💡 Hint

Think about what happens if no scenes are included in the build.

🔧 Debug
advanced
2:30remaining
Why does this build script fail to switch platform before building?

Examine this script that tries to switch build platform and then build. Why does it fail to build for Android?

Unity
using UnityEditor;

public class BuildScript
{
    public static void BuildAndroid()
    {
        EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Android, BuildTarget.Android);
        BuildPlayerOptions options = new BuildPlayerOptions();
        options.scenes = new string[] {"Assets/Scene1.unity"};
        options.locationPathName = "Builds/Android.apk";
        options.target = BuildTarget.Android;
        options.options = BuildOptions.None;

        BuildPipeline.BuildPlayer(options);
    }
}
AScenes array must include all scenes in the project
BBuildTargetGroup.Android is invalid and causes failure
CSwitchActiveBuildTarget is asynchronous and build starts before switch completes
DBuildPlayerOptions.locationPathName is incorrect for Android builds
Attempts:
2 left
💡 Hint

Consider how platform switching works internally in Unity Editor.

🚀 Application
expert
3:00remaining
How to programmatically add a scene to Build Settings in Unity?

You want to add a scene to the build settings list using a script. Which code snippet correctly adds "Assets/Scenes/Level1.unity" to the build scenes?

ABuildPipeline.AddSceneToBuild("Assets/Scenes/Level1.unity");
BEditorBuildSettings.scenes.Append(new EditorBuildSettingsScene("Assets/Scenes/Level1.unity", true));
CEditorBuildSettings.AddScene("Assets/Scenes/Level1.unity");
Dvar scenes = EditorBuildSettings.scenes.ToList(); scenes.Add(new EditorBuildSettingsScene("Assets/Scenes/Level1.unity", true)); EditorBuildSettings.scenes = scenes.ToArray();
Attempts:
2 left
💡 Hint

Think about how to modify arrays in C# and assign back to EditorBuildSettings.scenes.