* Fixed organization of the AssetProcessor SourceAssetBrowser Assets within the Engine Root were grouped under a '/' entry. That has been fixed to use the relative path within the engine root for those assets Assets outside of the Engine Root, but on the same drive were using absolute paths before. Now there are child entries that navigate up the directory hierarchy to those asset locations * Added ly_enable_gems call to Atom gems targets that are required The DefaultLevel.prefab contains several Atom components, that require the Atom RHI, RPI, Common_Feature, ShaderBuilder and AtomLyIntegration CommonFeatures gems to be enabled in order to successfully process in the AssetProcessor. * Added ly_enable_gems call to make the Camera gem required in Tools, Builders and Clients. This is needed as the DefaultLevel.prefab contains an Editor Camera Component * Adding the ly_enable_gem call to make the Maestro gem required CrySystem currently requires Maestro to be enabled in order to initialize * Added ly_enable_gems call to the SceneProcessing gem to make it required The SceneCore and SceneData libraries that are part of the core engine Code folder requires the SceneProcessing gem to be enabled in order to invoke the InitializeDynamicModule hooks in DllMain.cpp in order to initialize those libraries. * Fixed bad argument in comment for Prefab CMakeLists.txt * Fixed Assert in Asset Builders due to the Atom RPI Builder The Atom RPI Builder was enabling the Asset Catalog for the ScriptAsset a second time The Atom Feature Common EditorSystemCommonComponent.cpp which also loads in the AssetBuilder is enabling the Asset Catalog for the ScriptAsset Added BehaviorContext reflection to the OutputDeviceTransformType enum to fix the BehaviorContext errors about reflecting a method that returns such an enum * Added TypeId output to the JsonDeserializer report message about missing ClassData Previously the report callback would indicate that the target type was missing Serialization class data, but didn't indicate the TypeId of the target type * Added support to the ly_enable_gems function to be able to support 0 gems being enabled. Updated the Install step for CMake to propagate any ly_enable_gems within a CMakeLists.txt for a target into the generated CMakeLists.txt that is made for each installed IMPORTED target * Adding newline to the end of the Camera Gem CMakeLists.txt * Fixing target TYPE parameter for actual Gem Modules to use the GEM_MODULE tag instead of MODULE * Reverting change to the DESTINATION directory for the installed CMakeLists.txt to use the relative path to the installed directory * Adding the Atom_Bootstrap gem as a required gem The Client and GameLaunchers required the Atom_Bootstrap gem in order to create the NativeWindow Added Atom_Feature_Common client module as a runtime dependency of the AtomLyIntegration CommonsFeature client module * Fixed register.py --all-projects-path and --all-gems-path arguments to NOT register projects or gems that are within a template folder Fixed reading of old pre-1.0 o3de_manifest.json files where the "engines" key was a json array * Changed how the relative target source directory is calculated when that source directroy resides outside of the engine root. The final dirname component is used with a unique SHA256 has to form a <dirname>-<8 char SHA256> folder for installing files into * Adding newline to the end of Atom_Bootstrap CMakeLists.txt * Moving ly_enable_gems variants for Tools and Builders inside of PAL_TRAIT_BUILD_HOST_TOOLS block * Adding a comment to AWSCore.ResourceMappingTool target to indicate that it is not a GEM_MODULE. Furthermore it cannot be loaded with the Gem system because the library is in a different directory the executable |
5 years ago | |
|---|---|---|
| Assets | 5 years ago | |
| AutomatedTesting | 5 years ago | |
| Code | 5 years ago | |
| Gems | 5 years ago | |
| Registry | 5 years ago | |
| Templates | 5 years ago | |
| Tools | 5 years ago | |
| cmake | 5 years ago | |
| python | 5 years ago | |
| scripts | 5 years ago | |
| .clang-format | 5 years ago | |
| .editorconfig | 5 years ago | |
| .gitattributes | 5 years ago | |
| .gitignore | 5 years ago | |
| .lfsconfig | 5 years ago | |
| CMakeLists.txt | 5 years ago | |
| Doxyfile_ScriptBinds | 5 years ago | |
| LICENSE.txt | 5 years ago | |
| README.md | 5 years ago | |
| SerializeContextAnalysis.bat | 5 years ago | |
| SliceBuilderSettings.json | 5 years ago | |
| aztest_bootstrap.json | 5 years ago | |
| ctest_pytest.ini | 5 years ago | |
| editor.cfg | 5 years ago | |
| engine.json | 5 years ago | |
| system_android_android.cfg | 5 years ago | |
| system_ios_ios.cfg | 5 years ago | |
| system_linux_pc.cfg | 5 years ago | |
| system_mac_mac.cfg | 5 years ago | |
| system_windows_pc.cfg | 5 years ago | |
README.md
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.
Full instructions can be found here:
https://docs.o3de.org/docs/welcome-guide/setup/setup-from-github/
(Note: Contact Royal or Doug Erickson, dougeric@amazon.com for access)
Updates to this readme
May 14, 2021
- Removed instructions for the 3rdParty zip file and downloader URL. This is no longer a requirement.
- Updated instructions for dependencies
- Links to full documentation
April 7-13, 2021
- Updates to the 3rdParty zip file
March 25, 2021
- Initial commit for instructions
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.
To install Git LFS, download the binary here: https://git-lfs.github.com/.
After installation, you will need to install the necessary git hooks with this command
git lfs install
Create a Git Personal Access Token
You will need your personal access token credentials to authenticate when you clone the repository and when downloading objects from Git LFS
Create a personal access token with the 'repo' scope.
During the clone operation, you will be prompted to enter a password. Your token will be used as the password. You will also be prompted a second time for Git LFS.
(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
For Linux and Mac, use the following commands to store credentials
Linux:
git config --global credential.helper cache
Mac:
git config --global credential.helper osxkeychain
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 or other credential helpers installed, you should not be prompted for your credentials anymore.
Building the Engine
Build Requirements and redistributables
Windows
- Visual Studio 2019 16.9.2 minimum (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
- C++ 2019 redistributable update
- Install the following workloads:
- CMake 3.20 minimum: https://cmake.org/download/
Optional
- WWise - 2019.2.8.7432 minimum: https://www.audiokinetic.com/download/
- Note: This requires registration and installation of a client to download
- You will also need to set a environment variable:
set LY_WWISE_INSTALL_PATH=<path to WWise version> - For example:
set LY_WWISE_INSTALL_PATH="C:\Program Files (x86)\Audiokinetic\Wwise 2019.2.8.7432"
Quick Start Build Steps
-
Create a writable folder to cache 3rd Party dependencies. You can also use this to store other redistributable SDKs.
For the 0.5 branch - Create an empty text file named
3rdParty.txtin this folder, to allow a legacy CMake validator to pass -
Install the following redistributables to the following:
- Visual Studio and VC++ redistributable can be installed to any location
- CMake can be installed to any location, as long as it's available in the system path
- WWise can be installed anywhere, but you will need to set an environment variable for CMake to detect it:
set LY_WWISE_INSTALL_PATH=<path to WWise>
-
Navigate into the repo folder, then download the python runtime with this command
For the 0.5 branch - Set this environment variable prior to the
get_pythoncommand below:set LY_PACKAGE_SERVER_URLS=https://d2c171ws20a1rv.cloudfront.netpython\get_python.bat -
Configure the source into a solution using this command line, replacing and <3rdParty cache path> to a path you've created:
cmake -B <your build path> -S <your source path> -G "Visual Studio 16" -DLY_3RDPARTY_PATH=<3rdParty cache path> -DLY_UNITY_BUILD=ON -DLY_PROJECTS=AutomatedTestingNote: Do not use trailing slashes for the <3rdParty cache path>
-
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_PATHandLY_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 path> --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
- While still within the repo folder, register the engine with this command:
scripts\o3de.bat register --this-engine - Setup new projects using the
o3de create-projectcommand. In the 0.5 branch, the project directory must be a subdirectory in the repo folder.<Repo path>\scripts\o3de.bat create-project --project-path <your new project path> - Register the engine to the project
<Repo path>\scripts\o3de.bat register --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 project build path> -S <your new project source path> -G "Visual Studio 16" -DLY_3RDPARTY_PATH=<3rdParty cache path> // For the 0.5 branch, you must build a new Editor for each project: cmake --build <your project build path> --target <New Project Name>.GameLauncher Editor --config profile -- /m // For all other branches, just build the project: cmake --build <your project build path> --target <New Project Name>.GameLauncher --config profile -- /m
For a tutorial on project configuration, see Creating Projects Using the Command Line in the documentation.
License
For terms please see the LICENSE*.TXT file at the root of this distribution.