Version:

Waf Projects File project.json

Waf Projects File (project.json)

The project.json file (located in each game project directory) is used to store game project-specific data. The enabled_game_projects settings (user_settings.options) and the --enable-game-projects build parameter use the project names defined in this file.

The project.json file is structured as follows:

  • First level – Represents the project based on its name
  • Second level – Presents attributes that you can set for each game project

The following is an example project.json file:

    "project_name"      : "SamplesProject",
    "product_name"      : "Samples Project",
    "executable_name"   : "SamplesProjectLauncher",
    "code_folder"       : "Code/SamplesProject",
    "modules"           : ["SamplesProject"],
    "project_id": "{D882E365-54D6-586E-BD78-2650F3057D49}",

You can configure the following settings in the project.json file:

General settings

ValueDescription
executable_nameName of the built executable file: [See the AWS documentation website for more details]
modules(List) Base modules for the game
product_nameExternally-facing name of the product

The following values are only valid under the android_settings key:

Android settings

ValueDescription
package_nameAndroid application package identifier. Used for generating the project-specific Java activity class and in AndroidManifest.xml. Must be in dot separated format. Default: “com.lumberyard.sdk”
version_numberInternal application version number. Used to set the android:versionCode tag in AndroidManifest.xml. Default: 1
version_nameHuman readable version number. Used to set the android: versionName tag in the AndroidManifest.xml. Example: “1.2.3-beta” Default: “1.0.0.0”
orientationDesired orientation of the Android application. Used to set the android:screenOrientation tag in AndroidManifest.xml. Expectable values can be found here: http://developer.android.com/guide/topics/manifest/activity-element.html#screen Default: “landscape”
iconsA map of icon override path(s) for each screen DPI type. All entries require a path that is either relative to \Code\\Resources or an absolute resource path to the PNG image. Available sub-options: [See the AWS documentation website for more details] For more information on Android screen DPI settings, consult the official Android documentation page https://developer.android.com/guide/practices/screens_support.html Example:
“icons” : 
{
“default” : “AndroidLauncher/icon-xhdpi.png”,

“mdpi” : “AndroidLauncher/icon-mdpi.png”,
“hdpi” : “AndroidLauncher/icon-hdpi.png”,
“xhdpi” : “AndroidLauncher/icon-xhdpi.png”,
“xxhdpi” : “AndroidLauncher/icon-xxhdpi.png”,
“xxxhdpi” : “AndroidLauncher/icon-xxxhdpi.png”
}
Default: Empty
splash_screenA map of splash screen override path(s) for each orientation and screen DPI type. All entries require a path that is either relative to \Code\\Resources or an absolute resource path to the PNG image. Available sub-options (orientation type): [See the AWS documentation website for more details] Available sub-options for each orientation type: [See the AWS documentation website for more details] For more information on Android screen DPI settings, consult the official Android documentation page https://developer.android.com/guide/practices/screens_support.html Example:
“splash_screen” : 
{
“land” :
{
“default” : “AndroidLauncher/splash-xhdpi.png”,

“mdpi” : “AndroidLauncher/icon-mdpi.png”,
“hdpi” : “AndroidLauncher/icon-hdpi.png”,
“xhdpi” : “AndroidLauncher/icon-xhdpi.png”,
“xxhdpi” : “AndroidLauncher/icon-xxhdpi.png”
},
“port” :
{
“default” : “AndroidLauncher/icon-xhdpi.png”,

“mdpi” : “AndroidLauncher/icon-mdpi.png”,
“hdpi” : “AndroidLauncher/icon-hdpi.png”,
“xhdpi” : “AndroidLauncher/icon-xhdpi.png”,
“xxhdpi” : “AndroidLauncher/icon-xxhdpi.png”
}
}
Default: Empty
app_public_keyThe application license key provided by Google Play. Required for using APK Expansion files or other Google Play Services. Example:

“MIIBIjANBgkqhkiG9w0BALuMbErYaRdAMIIBCgKCAQEAjvkl+K7rVASNkLExAmPlEoWwsxCX1vx7
uV3IIH5CQIZBRGT8KeYr6ThWlIPhSMKMImj7KxjdYcil8J0rwrVL3cmAYdMM+02ntnBEemGvRVOKx
kDaFc5Fw6tJVv3SJ6UyjVtehB7tJupaYdfFe9SVhW0xJZu2YsZLuMbErYaRdrrgXU2Upr547mxuyE
HJ7jG7YFVrQgxou1W/71QnExAmPlExi6mlsUJBFN4xADikNWZDlI70iHF6ZYyOspZCbVZ9DScN+D5
oS3KeY/KKd5WOU6BB8NmTY5VZVdUOd4VPRXrYMnRY7FjZJMPujLNvlrAJs5H/G+0wUTR4SI61AiGJ
iQIDAQAB”
Default: “NoKey”
app_obfuscator_saltApplication specific salt value for (un)obfuscation when using APK Expansion files Example: “8d87473f5b24852836d6512abbd9e9b9869c208” Default: ""
enable_obb_in_devForces APK Expansion file mode in non-release builds. Value must be either “true” or “false”. Default: “false”
use_main_obbSpecify if the “Main” APK Expansion file should be used. This option toggles APK Expansion file mode in release builds. Value must be either “true” or “false”. Default: “false”
use_patch_obbSpecify if the “Patch” APK Expansion file should be used. This option toggles APK Expansion file mode in release builds. Value must be either “true” or “false”. Default: “false”
enable_key_screen_onEnabled or disable the screen wake lock (device won’t go to sleep while the application is running). Value must be either “true” or “false”. Default: “false”
rc_pak_jobPath to the RC job XML file used to override the normal PAK files generation used in release builds. Path must be relative to <lumberyard_version>\Bin64\rc Default: “RcJob_Generic_MakePaks.xml”
rc_obb_jobPath to the RC job XML file used to override the normal APK Expansion file(s) generation used in release builds. Path must be relative to <lumberyard_version>\Bin64\rc Default: " RCJob_Generic_Android_MakeObb.xml"