Lumberyard
User Guide (Version 1.21)

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

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"