Menu
Lumberyard
User Guide (Version 1.14)

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

Value Description
executable_name Name of the built executable file:
  • Dedicated server executables – '_Server' is appended to the name

  • Unit test executables – '_UnitTest' is appended to the name

modules (List) Base modules for the game
product_name Externally-facing name of the product

The following values are only valid under the android_settings key:

Android settings

Value Description
package_name

Android 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_number

Internal application version number. Used to set the android:versionCode tag in AndroidManifest.xml.

Default: 1

version_name

Human readable version number. Used to set the android: versionName tag in the AndroidManifest.xml.

Example: "1.2.3-beta"

Default: "1.0.0.0"

orientation

Desired 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"

icons

A map of icon override path(s) for each screen DPI type. All entries require a path that is either relative to <engine>\Code\<project>\Resources or an absolute resource path to the PNG image.

Available sub-options:

  • default

    • Default image used if a specific DPI is not specified

  • mdpi

    • Medium ~160 dpi

  • hdpi

    • High ~240 dpi

  • xhdp”

    • Extra high ~320 dpi

  • xxhdpi

    • Extra-extra high ~480 dpi

  • xxxhdpi

    • Extra-extra-extra high ~640 dpi

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_screen

A map of splash screen override path(s) for each orientation and screen DPI type. All entries require a path that is either relative to <engine>\Code\<project>\Resources or an absolute resource path to the PNG image.

Available sub-options (orientation type):

  • land

    • Map of overrides for the landscape orientation

  • port

    • Map of overrides for the portrait orientation

Available sub-options for each orientation type:

  • default

    • Default image used if a specific DPI is not specified

  • mdpi

    • Medium ~160 dpi

  • hdpi

    • High ~240 dpi

  • xhdp”

    • Extra high ~320 dpi

  • xxhdpi

    • Extra-extra high ~480 dpi

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

place_assets_in_apk

Forces the assets to be packed in the APK in non-release builds. Must be either a 1 (Yes) or 0 (No).

Default: 0

app_public_key

The 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_salt

Application specific salt value for (un)obfuscation when using APK Expansion files

Example: "8d87473f5b24852836d6512abbd9e9b9869c208"

Default: ""

enable_obb_in_dev

Forces APK Expansion file mode in non-release builds. Value must be either "true" or "false".

Default: "false"

use_main_obb

Specify 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_obb

Specify 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_on

Enabled 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_job

Path 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_job

Path 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"