Project Configuration



Recommend project configurations to improve iteration time and deliver optimized final builds.


There should be at least 3 build targets to satisfy distinct requirements: Debug, Development, and Release.


A build with full telemetry enabled and most optimizations disabled.

This can help with hard-to-diagnose issues.

A DLL-based build can improve the linker performance at the cost of optimizations across a DLL boundary.


  • Easier debugging due to the disabled optimizations.
  • Faster iteration time, from removing the optimization overhead from the build.

  • With most optimizations disabled, the project may run too slowly for testing and profiling.


A build with full telemetry enabled and most release optimizations enabled.


  • A good balance between options that can be used for testing and for profiling.

  • Increased build times due to the optimizer.


The final build for retail release.

All internal telemetry is disabled, and all optimization settings are enabled.


  • Highest-performing code.

  • Longest build times.
  • Hardest to debug.