Bird
Raised Fist0
Unityframework~8 mins

Build settings configuration in Unity - Performance & Optimization

Choose your learning style10 modes available
Performance: Build settings configuration
MEDIUM IMPACT
Build settings configuration affects the final app size, load time, and runtime performance by controlling which assets and code are included and how they are optimized.
Configuring build settings to optimize app size and load performance
Unity
PlayerSettings.stripEngineCode = true;
BuildPipeline.BuildPlayer(scenes, buildPath, BuildTarget.StandaloneWindows64, BuildOptions.None);
Stripping unused engine code reduces build size and speeds up loading.
📈 Performance Gainsaves 30-70MB in build size, reduces load time by 2-4 seconds
Configuring build settings to optimize app size and load performance
Unity
PlayerSettings.stripEngineCode = false;
BuildPipeline.BuildPlayer(scenes, buildPath, BuildTarget.StandaloneWindows64, BuildOptions.None);
Including unused engine code and assets increases build size and slows load time.
📉 Performance Costadds 50-100MB to build size, increases initial load time by several seconds
Performance Comparison
PatternBuild Size ImpactLoad Time ImpactRuntime MemoryVerdict
No code stripping, all assets includedHigh (large build)Slow (long load)High[X] Bad
Code stripping enabled, unused assets excludedLow (smaller build)Fast (short load)Lower[OK] Good
Rendering Pipeline
Build settings determine what assets and code are included in the final app. This affects how quickly the app loads and how much memory it uses during runtime.
→Asset Bundling
→Code Stripping
→Compression
→Loading
⚠️ BottleneckAsset Bundling and Code Stripping stages
Optimization Tips
1Always enable code stripping to remove unused engine code.
2Exclude unused scenes and assets from the build to reduce size.
3Use asset compression to speed up loading times.
Performance Quiz - 3 Questions
Test your performance knowledge
What is the main benefit of enabling code stripping in Unity build settings?
AReduces build size and speeds up app loading
BIncreases graphics quality
CAdds debugging information
DImproves network performance
DevTools: Unity Profiler and Build Report
How to check: Open the Build Report after building the app to see size breakdown. Use Unity Profiler to measure load times and memory usage during runtime.
What to look for: Look for large asset sizes, unused assets included, and long load times indicating poor build settings.

Practice

(1/5)
1. What is the main purpose of Unity's Build Settings window?
easy
A. To debug runtime errors in the game
B. To write game scripts and logic
C. To select the target platform and scenes for building the game
D. To design game UI elements

Solution

  1. Step 1: Understand Build Settings role

    The Build Settings window is where you choose the platform (like Windows, Android) and which scenes to include in the build.
  2. Step 2: Differentiate from other windows

    Writing scripts, designing UI, and debugging happen in other parts of Unity, not Build Settings.
  3. Final Answer:

    To select the target platform and scenes for building the game -> Option C
  4. Quick Check:

    Build Settings = platform + scenes selection [OK]
Hint: Build Settings = choose platform and scenes before building [OK]
Common Mistakes:
  • Confusing Build Settings with script editor
  • Thinking Build Settings is for debugging
  • Assuming UI design happens here
2. Which of the following is the correct way to add a scene to the Build Settings scenes list in Unity Editor?
easy
A. Add the scene path in the Player Settings
B. Write the scene name in the Console window
C. Create a new script and reference the scene
D. Drag the scene file into the Scenes In Build list in Build Settings

Solution

  1. Step 1: Identify how to add scenes in Build Settings

    In Unity Editor, you add scenes by dragging them into the Scenes In Build list inside the Build Settings window.
  2. Step 2: Eliminate incorrect methods

    Writing scene names in Console, adding paths in Player Settings, or scripting references do not add scenes to the build list.
  3. Final Answer:

    Drag the scene file into the Scenes In Build list in Build Settings -> Option D
  4. Quick Check:

    Add scenes by dragging into Build Settings list [OK]
Hint: Drag scenes into Build Settings list to include them [OK]
Common Mistakes:
  • Trying to add scenes via Console or Player Settings
  • Assuming scripts add scenes automatically
  • Not opening Build Settings before adding scenes
3. Given this C# build script snippet in Unity Editor:
using UnityEditor;
class BuildScript {
  static void BuildGame() {
    string[] scenes = {"Assets/Scene1.unity", "Assets/Scene2.unity"};
    BuildPipeline.BuildPlayer(scenes, "Builds/MyGame.exe", BuildTarget.StandaloneWindows64, BuildOptions.None);
  }
}
What will this script do when run inside the Editor?
medium
A. Build a Windows 64-bit executable including Scene1 and Scene2
B. Build a MacOS app ignoring the scenes
C. Throw a compile error due to missing namespace
D. Build an Android APK with default scenes

Solution

  1. Step 1: Analyze BuildPipeline.BuildPlayer parameters

    The script specifies scenes array with two scenes, output path "Builds/MyGame.exe", target platform StandaloneWindows64, and no special options.
  2. Step 2: Understand effect of parameters

    This means it builds a Windows 64-bit executable including the two scenes listed.
  3. Final Answer:

    Build a Windows 64-bit executable including Scene1 and Scene2 -> Option A
  4. Quick Check:

    BuildPlayer with Windows target = Windows exe build [OK]
Hint: Check BuildTarget and output path to identify build platform [OK]
Common Mistakes:
  • Confusing BuildTarget platform
  • Assuming scenes are ignored
  • Thinking script causes compile error
4. You wrote this build script in Unity Editor:
using UnityEditor;
class BuildScript {
  static void BuildGame() {
    string[] scenes = {"Assets/Scene1.unity", "Assets/Scene2.unity"};
    BuildPipeline.BuildPlayer(scenes, "Builds/MyGame.exe", BuildTarget.Android, BuildOptions.None);
  }
}
But the build fails with an error about invalid output path. What is the likely cause?
medium
A. The output path "Builds/MyGame.exe" is invalid for Android builds
B. The scenes array is empty
C. BuildTarget.Android is not supported in Unity
D. BuildOptions.None disables building

Solution

  1. Step 1: Check output path for Android build

    Android builds require output files with .apk or .aab extensions, not .exe files.
  2. Step 2: Identify mismatch causing error

    Using "Builds/MyGame.exe" for Android causes invalid path error because .exe is for Windows builds.
  3. Final Answer:

    The output path "Builds/MyGame.exe" is invalid for Android builds -> Option A
  4. Quick Check:

    Android build needs .apk or .aab output [OK]
Hint: Match output file extension to platform (e.g., .apk for Android) [OK]
Common Mistakes:
  • Using Windows .exe extension for Android builds
  • Assuming BuildTarget.Android is unsupported
  • Thinking BuildOptions.None disables building
5. You want to automate building your Unity game for both Windows and Android platforms using a single script. Which approach correctly handles setting the build target and output path for each platform inside the script?
hard
A. Use one BuildPipeline.BuildPlayer call with BuildTarget.StandaloneWindows64 and output .exe for both platforms
B. Use BuildPipeline.BuildPlayer twice with different BuildTarget and matching output paths (.exe for Windows, .apk for Android)
C. Use BuildPipeline.BuildPlayer with BuildTarget.Android and output .exe file
D. Change Player Settings manually before running the script

Solution

  1. Step 1: Understand multi-platform build requirements

    Each platform requires a separate build call with correct BuildTarget and output file extension.
  2. Step 2: Identify correct scripting approach

    Calling BuildPipeline.BuildPlayer twice, once for Windows with .exe output, once for Android with .apk output, automates both builds properly.
  3. Final Answer:

    Use BuildPipeline.BuildPlayer twice with different BuildTarget and matching output paths (.exe for Windows, .apk for Android) -> Option B
  4. Quick Check:

    Separate calls per platform with correct output = correct build [OK]
Hint: Build each platform separately with correct target and output file [OK]
Common Mistakes:
  • Trying to build multiple platforms in one call
  • Using wrong output file extensions
  • Changing Player Settings manually instead of scripting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard