* Updated the DynamicModuleHandle code to search within the
SettingsRegistry for the FilePathKey_ProjectBuildPath setting in order
to determine the binary directory for the Project.
This is used to locate shared libraries and executables built by the
project when running and Engine SDK binary from within the Engine SDK
* Added a generation step within the Projects.cmake file to generate a
.setreg file containing the CMake build directory root.
The file is output to the <project-root>/user/Registry/build_path.setreg
file.
This occurs only on non-host platforms when configuring for
non-Monolithic builds, since the Build Directory is used to located the
project binary directory in order to located the project's generated
${CMAKE_BINARY_DIR}/bin/$<CONFIG>/Registry directory containing the
cmake_dependencies.<project-name>.<application-name>.setreg file
containing the list of gem modules to load for a given application
Updated the SettingsRegistryMergeUtils AddRuntimeFilePaths function to
be read in the new "/Amazon/Project/Settings/Build/project_build_path"
and use that to form an absolute path to the project build directory by
appending it to the FilePathKey_ProjectPath key.
That key is set in the 'FilePathKey_ProjectBuildPath' constant
Next updated the SettingsRegistryMergeUtils
MergeSettingsToRegistry_TargetBuildDependencyRegistry function to look
within the project build directory to locate the
cmake_dependencies.*.setreg file to load
Tweaked the Settings Registry merge order of the ComponentApplication,
GameApplication and Settings Registry builder to merge the command line
after merging the global user registry and after merging the project
user registry.
Moved the call to MergeSettingsToRegistry_TargetBuildDependencyRegistry
to occur after the above calls to make sure the properly overriden
projects' user registry was merged in order for the correct project
build path to be stored in the SettingsRegistry
* Added a ProjectConfigurationBinPath key which contains the path to the <build-dir>/bin/$<CONFIG> directory for a project which is used to load gem dlls and the Registry/cmake_dependencies.*.setreg files when using an pre-built Editor/AssetProcessor on an external project
* Fixed variable reference to fileNamePath variable
* Removing the default Project Build Path from the Settings Registry
Runtime Filepaths.
Any paths would have to be set explicitly via .setreg/.setregpatch file
or the --project-build-path parameter
Updated the setting of the project build path and project binary
directory to perform existance checks on the paths before setting the
keys of /Amazon/AzCore/Runtime/FilePaths/ProjectBuildPath and
/Amazon/AzCore/Runtime/FilePaths/ProjectConfigurationBinPath
Added a backup project binary path of
<project-build-path>/bin/$<PLATFORM>/$<CONFIG> which is used if the path
of <project-build-path>/bin/$<CONFIG> has not been found
Fixed compile error in DynamicModuleHandle_Apple.cpp
* UnixLike Platform Build fix for the DynamicModuleHandle code
Project Spectra Private Preview
Confidentiality; Pre-Release Access
Welcome to the Project Spectra Private Preview. This is a confidential pre-release project; your use is subject to the nondisclosure agreement between you (or your organization) and Amazon. Do not disclose the existence of this project, your participation in it, or any of the materials provided, to any unauthorized third party. To request access for a third party, please contact Royal O'Brien, obriroya@amazon.com.
Download and Install
This repository uses Git LFS for storing large binary files. You will need to create a Github personal access token to authenticate with the LFS service.
Create a Git Personal Access Token
You will need your personal access token credentials to authenticate when you clone the repository.
Create a personal access token with the 'repo' scope.
(Recommended) Verify you have a credential manager installed to store your credentials
Recent versions of Git install a credential manager to store your credentials so you don't have to put in the credentials for every request.
It is highly recommended you check that you have a credential manager installed and configured
Clone the repository
> git clone https://github.com/aws-lumberyard/o3de.git
Cloning into 'o3de'...
# initial prompt for credentials to download the repository code
# enter your Github username and personal access token
remote: Counting objects: 29619, done.
Receiving objects: 100% (29619/29619), 40.50 MiB | 881.00 KiB/s, done.
Resolving deltas: 100% (8829/8829), done.
Updating files: 100% (27037/27037), done.
# second prompt for credentials when downloading LFS files
# enter your Github username and personal access token
Filtering content: 100% (3853/3853), 621.43 MiB | 881.00 KiB/s, done.
If you have the Git credential manager core installed, you should not be prompted for your credentials anymore.
Building the Engine
Build Requirements and redistributables
- Visual Studio 2019 16.9.2 (All versions supported, including Community): https://visualstudio.microsoft.com/downloads/
- Install the following workloads:
- Game Development with C++
- MSVC v142 - VS 2019 C++ x64/x86
- Install the following workloads:
- Visual C++ redistributable: https://visualstudio.microsoft.com/downloads/#other-family
- FBXSDK for VS2015: https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2016-1-2
- WWise - 2019.2.8.7432: https://www.audiokinetic.com/download/
- CMake 3.19.1: https://cmake.org/files/LatestRelease/cmake-3.19.1-win64-x64.msi
Build Steps
-
Download the 3rdParty zip file from here: https://d2c171ws20a1rv.cloudfront.net/3rdParty-windows-no-symbols-rev13.zip
-
Unzip this file into a writable folder. This will also act as a cache location for the 3rdParty downloader by default (configurable with the
LY_PACKAGE_DOWNLOAD_CACHE_LOCATIONenvironment variable) -
Install the following redistributables to the following:
- Visual Studio and VC++ redistributable can be installed to any location
- FBXSDK should be installed to
<3rdParty path>\FbxSdk\2016.1.2-az.1. See the README in this folder for details - WWise should be installed to:
<3rdParty Path>\Wwise\2019.2.8.7432 - CMake should be installed to:
<3rdParty Path>\CMake\3.19.1
-
Add the following environment variables through the command line
set LY_3RDPARTY_PATH=<Location of the unzipped 3rdParty zip> set LY_PACKAGE_SERVER_URLS="https://d2c171ws20a1rv.cloudfront.net" -
Configure the source into a solution using this command line, replacing to a path you've created
cmake -B <your build location> -S <source-dir> -G "Visual Studio 16 2019" -DLY_3RDPARTY_PATH=%LY_3RDPARTY_PATH% -DLY_UNITY_BUILD=ON -DLY_PROJECTS=AutomatedTesting -
Alternatively, you can do this through the CMake GUI:
- Start
cmake-gui.exe - Select the local path of the repo under "Where is the source code"
- Select a path where to build binaries under "Where to build the binaries"
- Click "Configure"
- Wait for the key values to populate. Fill in the fields that are relevant, including
LY_3RDPARTY_PATH,LY_PACKAGE_SERVER_URLS, andLY_PROJECTS - Click "Generate"
- Start
-
The configuration of the solution is complete. To build the Editor and AssetProcessor to binaries, run this command inside your repo:
cmake --build <your build location> --target AutomatedTesting.GameLauncher AssetProcessor Editor --config profile -- /m -
This will compile after some time and binaries will be available in the build path you've specified
Setting up new projects
- Setup new projects using this command
<Repo path>\scripts\o3de.bat create-project --project-path <New project path> - Once you're ready to build the project, run the same set of commands to configure and build:
cmake -B <your build location> -S <source-dir> -G "Visual Studio 16 2019" -DLY_3RDPARTY_PATH=%LY_3RDPARTY_PATH% -DLY_PROJECTS=<New project name> -DLY_MONOLITHIC_GAME=1 cmake --build <your build location> --target <New Project Name> --config profile -- /m
License
For terms please see the LICENSE*.TXT file at the root of this distribution.