Lumberyard
User Guide (Version 1.16)

Waf User Settings (user_settings.options)

Global Waf build system settings are specified in the user_settings.options file located in the \_WAF_ subfolder. This file is automatically generated from the default_settings.json file if it does not exist. Every build that is run will refer to this file to get the option values specific to the builds. Any of the values can be overridden at a command prompt using Override Parameter column value in the table below. When a value is overridden, it is not updated in the user_settings.options file.

The settings listed below can be modified in the file directly, or through the Lumberyard WAF Settings dialog. To invoke the Settings dialog, enter show_option_dialog command into Waf as follows:

lmbr_waf show_option_dialog

The tabs shown represent each section in the user_settings.option file.

Attribute Override Parameter Description Default
Game Projects
enabled_game_projects --enabled-game-projects Comma-separated list of game projects to enable for compiling GameSDK, SamplesProject, MultiplayerSample
Incredibuild Options
use_incredibuild -i --use-incredibuild Use Incredibuild if available. False
Use Incredibuild for Windows PC builds. This requires at a minimum the Make and Build tools package. False
use_incredibuild_android --use-incredibuild-android Use Incredibuild for Android builds. This requires at a minimum the Make and Build tools package. False
incredibuild_max_cores --incredibuild-max-cores Control the number of processes spawned by Incredibuild. 128
auto_update_incredibuild_settings --auto-update-incredibuild-settings Option to automatically attempt to update the registry for Incredibuild if needed. These registry updates are needed to configure Incredibuild to work properly with the WAF build system. False
Build Options
version --force-version The version of the game project to embed in the game launchers. 0.0.0.0
generate_debug_info --generate-debug-info Option to generate debug symbols and .pdb files for the build. True
generate_map_file --generate-map-file Generate a map file during linking if the platform supports it. False
use_precompiled_header --use-precompiled-header Use a precompiled header for compilation where applicable. True
use_uber_files --use-uber-files Use uber files for compilation. False
uber_file_size --uber-file-size Maximum content size of auto-generated uber files. 307200
max_parallel_link --max-parallel-link Controls the number of C++ linking operations that happen in parallel. 2
gems_optional --gems-optional Allows building of projects without gems.json files. False
use_debug_code_generator --use_debug_code_generator Uses the version of the code generator located in the \Bin64.Debug folder instead of the \Bin64 folder. False
Output Folder
out_folder_win64 --output-folder-win64 Absolute or relative Win64 build output path. May have configuration-based extensions to the name based on the additional options listed below. Bin64
out_folder_mac64 --output-folder-mac64 Absolute or relative Mac (Darwin) target platform build output path. May have configuration-based extensions to the name based on the additional options listed below. BinMac64
out_folder_ios --output-folder-ios Absolute or relative iOS target platform build output path. May have configuration-based extensions to the name based on the additional options listed below. BinIos
out_folder_android_armv7 --output-folder-android-armv7 Absolute or relative Android/Armv7 build target platform output path. May have configuration-based extensions to the name based on the additional options listed below. BinAndroid
output_folder_ext_debug --output-folder-ext-debug The output folder name extension for debug builds. This will be appended to the corresponding output folder based on the target platform builds. Debug
output_folder_ext_profile --output-folder-ext-profile The output folder name extension for profile builds. This will be appended to the corresponding output folder based on the target platform builds.
output_folder_ext_performance --output-folder-ext-performance The output folder name extension for performance builds. This will be appended to the corresponding output folder based on the target platform builds. Performance
output_folder_ext_release --output-folder-ext-release The output folder name extension for release builds. This will be appended to the corresponding output folder based on the target platform builds. Release
Misc Options
max_cores --max-cores Number of parallel processes for local builds. A value of 0 indicates that as many cores as needed will be used. Set a specific value to limit the number of cores used. 0
bootstrap_tool_param --bootstrap-tool-param Optional parameters to pass to SetupAssistantBatch.exe as part of the bootstrap process.
bootstrap_third_party_override --3rdpartypath Optional parameter to pass the location of the \3rdParty folder as part of the bootstrap process.
Visual Studio Project Generator
generate_vs_projects_automatically --generate-vs-projects-automatically Automatically generate Visual Studio solutions. True
visual_studio_solution_name --visual-studio-solution-name Name of the generated Visual Studio solution. LumberyardSDK
visual_studio_solution_folder --visual-studio-solution-folder Name of the folder in which the generated Visual Studio solution should be stored. Solutions
specs_to_include_in_project_generation --specs-to-include-in-project-generation List of specs to include in Visual Studio solution generation. all, game, game_and_engine, resource_compiler
msvs_version --msvs-version Version of the Visual Studio Solution to generate. For more information, see https://en.wikipedia.org/wiki/Microsoft_Visual_Studio ). (Don't include Without the decimal point). 14
Android Project Generator
generate_android_projects_automatically --generate-android-projects-automatically Automatically generates Android projects. False
android_projects_folder --android-projects-folder Solutions/android Name of the folder in which the generated Android projects should be stored.
Android Deploy
deploy_android --deploy-android Deploy to an Android device. True
deploy_android_clean_device --deploy-android-clean-device Removes any previous assets for the game project that were copied. If the deploy-android-executable option is specified as well then the package specified for deploy-android-package-name will also be uninstalled. True
deploy_android_executable --deploy-android-executable Deploys the executable .apk to the Android device. True
deploy_android_replace_apk --deploy-android-replace-apk When installing the .apk to the Android device use the -r option to force the replacement of the package. True
deploy_android_root_dir --deploy-android-root-dir Root folder to deploy the assets to on the Android device /storage/emulated/legacy
deploy_android_install_options --deploy-android-install-options Additional options to specify for the install command.
deploy_android_paks --deploy-android-paks Forces .pak files to be built in non-release builds. False
iOS Project Generator
generate_ios_projects_automatically --generate-ios-projects-automatically Automatically generates iOS projects. True
ios_project_name --ios-project-name Name of the generated iOS project. LumberyardiOSSDK
ios_project_folder --ios-project-folder Name of the folder in which the generated iOS projects should be stored. Solutions
Mac Project Generator
generate_mac_projects_automatically --generate-mac-projects-automatically Automatically generates Darwin projects. True
mac_project_name --mac-project-name Name of the generated project LumberyardSDK
mac_project_folder --mac-project-folder Name of the folder in which the generated Darwin projects should be stored. Solutions