Skip to content

Commit

Permalink
Update docs for 5.3 upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
xxEoD2242 committed Jun 23, 2024
1 parent a7ccb0d commit f8224e2
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 38 deletions.
64 changes: 48 additions & 16 deletions docs/build_faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,59 @@

## Windows build

* [How to force Unreal to use Visual Studio 2019?](#how-to-force-unreal-to-use-visual-studio-2019)
* [I get error: 'where' is not recognized as an internal or external command](#i-get-error-where-is-not-recognized-as-an-internal-or-external-command)
* [I'm getting error `<MyProject> could not be compiled. Try rebuilding from source manually`](#im-getting-error-myproject-could-not-be-compiled-try-rebuilding-from-source-manually)
* [I get `error C100 : An internal error has occurred in the compiler` when running build.cmd](#i-get-error-c100--an-internal-error-has-occurred-in-the-compiler-when-running-buildcmd)
* [I get error "'corecrt.h': No such file or directory" or "Windows SDK version 8.1 not found"](#i-get-error-corecrth-no-such-file-or-directory-or-windows-sdk-version-81-not-found)
* [How do I use PX4 firmware with Colosseum?](#how-do-i-use-px4-firmware-with-airsim)
* [I made changes in Visual Studio but there is no effect](#i-made-changes-in-visual-studio-but-there-is-no-effect)
* [Unreal still uses VS2015 or I'm getting some link error](#unreal-still-uses-vs2015-or-im-getting-some-link-error)
- [FAQ](#faq)
- [Windows build](#windows-build)
- [Linux build](#linux-build)
- [Other](#other)
- [Windows build](#windows-build-1)
- [How to force Unreal to use Visual Studio 2019?](#how-to-force-unreal-to-use-visual-studio-2019)
- [I get error: 'where' is not recognized as an internal or external command](#i-get-error-where-is-not-recognized-as-an-internal-or-external-command)
- [I'm getting error `<MyProject> could not be compiled. Try rebuilding from source manually`](#im-getting-error-myproject-could-not-be-compiled-try-rebuilding-from-source-manually)
- [I get `error C100 : An internal error has occurred in the compiler` when running build.cmd](#i-get-error-c100--an-internal-error-has-occurred-in-the-compiler-when-running-buildcmd)
- [I get error "'corecrt.h': No such file or directory" or "Windows SDK version 8.1 not found"](#i-get-error-corecrth-no-such-file-or-directory-or-windows-sdk-version-81-not-found)
- [How do I use PX4 firmware with Colosseum?](#how-do-i-use-px4-firmware-with-colosseum)
- [I made changes in Visual Studio but there is no effect](#i-made-changes-in-visual-studio-but-there-is-no-effect)
- [Unreal still uses VS2015 or I'm getting some link error](#unreal-still-uses-vs2015-or-im-getting-some-link-error)
- [Linux build](#linux-build-1)
- [I'm getting error `<MyProject> could not be compiled. Try rebuilding from source manually`.](#im-getting-error-myproject-could-not-be-compiled-try-rebuilding-from-source-manually-1)
- [Unreal crashed! How do I know what went wrong?](#unreal-crashed-how-do-i-know-what-went-wrong)
- [How do I use an IDE on Linux?](#how-do-i-use-an-ide-on-linux)
- [Can I cross compile for Linux from a Windows machine?](#can-i-cross-compile-for-linux-from-a-windows-machine)
- [What compiler and stdlib does Colosseum use?](#what-compiler-and-stdlib-does-colosseum-use)
- [What version of CMake does the Colosseum build use?](#what-version-of-cmake-does-the-colosseum-build-use)
- [Can I compile Colosseum in BashOnWindows?](#can-i-compile-colosseum-in-bashonwindows)
- [Where can I find more info on running Unreal on Linux?](#where-can-i-find-more-info-on-running-unreal-on-linux)
- [Other](#other-1)
- [Packaging a binary including the Colosseum plugin](#packaging-a-binary-including-the-colosseum-plugin)

---

## Linux build

* [I'm getting error `<MyProject> could not be compiled. Try rebuilding from source manually`.](#im-getting-error-myproject-could-not-be-compiled-try-rebuilding-from-source-manually)
* [Unreal crashed! How do I know what went wrong?](#unreal-crashed-how-do-i-know-what-went-wrong)
* [How do I use an IDE on Linux?](#how-do-i-use-an-ide-on-linux)
* [Can I cross compile for Linux from a Windows machine?](#can-i-cross-compile-for-linux-from-a-windows-machine)
* [What compiler and stdlib does Colosseum use?](#what-compiler-and-stdlib-does-airsim-use)
* [What version of CMake does the Colosseum build use?](#what-version-of-cmake-does-the-airsim-build-use)
* [Can I compile Colosseum in BashOnWindows?](#can-i-compile-airsim-in-bashonwindows)
* [Where can I find more info on running Unreal on Linux?](#where-can-i-find-more-info-on-running-unreal-on-linux)
- [FAQ](#faq)
- [Windows build](#windows-build)
- [Linux build](#linux-build)
- [Other](#other)
- [Windows build](#windows-build-1)
- [How to force Unreal to use Visual Studio 2019?](#how-to-force-unreal-to-use-visual-studio-2019)
- [I get error: 'where' is not recognized as an internal or external command](#i-get-error-where-is-not-recognized-as-an-internal-or-external-command)
- [I'm getting error `<MyProject> could not be compiled. Try rebuilding from source manually`](#im-getting-error-myproject-could-not-be-compiled-try-rebuilding-from-source-manually)
- [I get `error C100 : An internal error has occurred in the compiler` when running build.cmd](#i-get-error-c100--an-internal-error-has-occurred-in-the-compiler-when-running-buildcmd)
- [I get error "'corecrt.h': No such file or directory" or "Windows SDK version 8.1 not found"](#i-get-error-corecrth-no-such-file-or-directory-or-windows-sdk-version-81-not-found)
- [How do I use PX4 firmware with Colosseum?](#how-do-i-use-px4-firmware-with-colosseum)
- [I made changes in Visual Studio but there is no effect](#i-made-changes-in-visual-studio-but-there-is-no-effect)
- [Unreal still uses VS2015 or I'm getting some link error](#unreal-still-uses-vs2015-or-im-getting-some-link-error)
- [Linux build](#linux-build-1)
- [I'm getting error `<MyProject> could not be compiled. Try rebuilding from source manually`.](#im-getting-error-myproject-could-not-be-compiled-try-rebuilding-from-source-manually-1)
- [Unreal crashed! How do I know what went wrong?](#unreal-crashed-how-do-i-know-what-went-wrong)
- [How do I use an IDE on Linux?](#how-do-i-use-an-ide-on-linux)
- [Can I cross compile for Linux from a Windows machine?](#can-i-cross-compile-for-linux-from-a-windows-machine)
- [What compiler and stdlib does Colosseum use?](#what-compiler-and-stdlib-does-colosseum-use)
- [What version of CMake does the Colosseum build use?](#what-version-of-cmake-does-the-colosseum-build-use)
- [Can I compile Colosseum in BashOnWindows?](#can-i-compile-colosseum-in-bashonwindows)
- [Where can I find more info on running Unreal on Linux?](#where-can-i-find-more-info-on-running-unreal-on-linux)
- [Other](#other-1)
- [Packaging a binary including the Colosseum plugin](#packaging-a-binary-including-the-colosseum-plugin)

---

Expand Down
8 changes: 4 additions & 4 deletions docs/build_linux.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Build Colosseum on Linux

The current recommended and tested environment is **Ubuntu 18.04 LTS**. Theoretically, you can build on other distros as well, but we haven't tested it.
The current recommended and tested environment is **Ubuntu 20.04 LTS**. Theoretically, you can build on other distros as well, but we haven't tested it.

We've two options - you can either build inside docker containers or your host machine.

Expand All @@ -16,11 +16,11 @@ Please see instructions [here](docker_ubuntu.md)

- Make sure you are [registered with Epic Games](https://docs.unrealengine.com/en-US/SharingAndReleasing/Linux/BeginnerLinuxDeveloper/SettingUpAnUnrealWorkflow/index.html). This is required to get source code access for Unreal Engine.

- Clone Unreal in your favorite folder and build it (this may take a while!). **Note**: We only support Unreal >= 4.27 at present. We recommend using 4.27.
- Clone Unreal in your favorite folder and build it (this may take a while!). **Note**: We only support Unreal >= 5.0 at present. We recommend using 5.3.

```bash
# go to the folder where you clone GitHub projects
git clone -b 4.27 [email protected]:EpicGames/UnrealEngine.git
git clone -b 5.3 [email protected]:EpicGames/UnrealEngine.git
cd UnrealEngine
./Setup.sh
./GenerateProjectFiles.sh
Expand All @@ -37,7 +37,7 @@ git clone https://github.com/CodexLabsLLC/Colosseum.git
cd Colosseum
```

By default Colosseum uses clang 8 to build for compatibility with UE 4.27. The setup script will install the right version of cmake, llvm, and eigen.
By default Colosseum uses clang 12 to build for compatibility with UE 5.3. The setup script will install the right version of cmake, llvm, and eigen.

```bash
./setup.sh
Expand Down
10 changes: 6 additions & 4 deletions docs/build_macos.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Build Colosseum on macOS

**THIS IS NOT CURRENTLY SUPPORTED WITH COLOSSEUM AND MAY NOT WORK.**

Only macOS **Catalina (10.15)** has currently been tested. Theoretically, Colosseum should work on higher macOS versions and Apple Silicon hardware, but this path is not offically supported.

Expand All @@ -16,9 +18,9 @@ Please see instructions [here](docker_ubuntu.md)

1. [Download](https://www.unrealengine.com/download) the Epic Games Launcher. While the Unreal Engine is open source and free to download, registration is still required.
2. Run the Epic Games Launcher, open the `Library` tab on the left pane.
Click on the `Add Versions` which should show the option to download **Unreal 4.27** as shown below. If you have multiple versions of Unreal installed then **make sure 4.27 is set to `current`** by clicking down arrow next to the Launch button for the version.
Click on the `Add Versions` which should show the option to download **Unreal 5.3** as shown below. If you have multiple versions of Unreal installed then **make sure 5.3 is set to `current`** by clicking down arrow next to the Launch button for the version.

**Note**: Colosseum also works with UE >= 4.24, however, we recommend 4.27.
**Note**: Colosseum also works with UE >= 4.24, however, we recommend 5.3.
**Note**: If you have UE 4.16 or older projects, please see the [upgrade guide](unreal_upgrade.md) to upgrade your projects.

### Build Colosseum
Expand All @@ -31,7 +33,7 @@ git clone https://github.com/CodexLabsLLC/Colosseum.git
cd Colosseum
```

By default Colosseum uses clang 8 to build for compatibility with UE 4.25. The setup script will install the right version of cmake, llvm, and eigen.
By default Colosseum uses clang 12 to build for compatibility with UE 5.3. The setup script will install the right version of cmake, llvm, and eigen.

CMake 3.19.2 is required for building on Apple Silicon.

Expand All @@ -48,7 +50,7 @@ Finally, you will need an Unreal project that hosts the environment for your veh
## How to Use Colosseum

- Browse to `Colosseum/Unreal/Environments/Blocks`.
- Run `./GenerateProjectFiles.sh <UE_PATH>` from the terminal, where `UE_PATH` is the path to the Unreal installation folder. (By default, this is `/Users/Shared/Epic\ Games/UE_4.27/`) The script creates an XCode workspace by the name Blocks.xcworkspace.
- Run `./GenerateProjectFiles.sh <UE_PATH>` from the terminal, where `UE_PATH` is the path to the Unreal installation folder. (By default, this is `/Users/Shared/Epic\ Games/UE_5.3/`) The script creates an XCode workspace by the name Blocks.xcworkspace.
- Open the XCode workspace, and press the Build and run button in the top left.
- After Unreal Editor loads, press Play button.

Expand Down
6 changes: 3 additions & 3 deletions docs/build_windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

1. [Download](https://www.unrealengine.com/download) the Epic Games Launcher. While the Unreal Engine is open source and free to download, registration is still required.
2. Run the Epic Games Launcher, open the `Unreal Engine` tab on the left pane.
Click on the `Install` button on the top right, which should show the option to download **Unreal Engine >= 4.27**. Chose the install location to suit your needs, as shown in the images below. If you have multiple versions of Unreal installed then **make sure the version you are using is set to `current`** by clicking down arrow next to the Launch button for the version.
Click on the `Install` button on the top right, which should show the option to download **Unreal Engine >= 5.0**. Chose the install location to suit your needs, as shown in the images below. If you have multiple versions of Unreal installed then **make sure the version you are using is set to `current`** by clicking down arrow next to the Launch button for the version.

**Note**: If you have UE 4.16 or older projects, please see the [upgrade guide](unreal_upgrade.md) to upgrade your projects.
**Note**: If you have UE 5.2 or older projects, please see the [upgrade guide](unreal_upgrade.md) to upgrade your projects.

![Unreal Engine Tab UI Screenshot](images/ue_install.png)

Expand Down Expand Up @@ -38,7 +38,7 @@ Once Colosseum is set up by following above steps, you can,

1. Double click on .sln file to load the Blocks project in `Unreal\Environments\Blocks` (or .sln file in your own [custom](unreal_custenv.md) Unreal project). If you don't see .sln file then you probably haven't completed steps in Build Unreal Project section above.

**Note**: Unreal 4.27 will auto-generate the .sln file targetting Visual Studio 2019. Visual Studio 2022 will be able to load and run this .sln, but if you want full Visual Studio 2022 support, you will need to explicitly enable support by going to 'Edit->Editor Preferences->Source Code' and selecting 'Visual Studio 2022' for the 'Source Code Editor' setting.
**Note**: Unreal 5.3 will auto-generate the .sln file targetting Visual Studio 2019. Visual Studio 2022 will be able to load and run this .sln, but if you want full Visual Studio 2022 support, you will need to explicitly enable support by going to 'Edit->Editor Preferences->Source Code' and selecting 'Visual Studio 2022' for the 'Source Code Editor' setting.

2. Select your Unreal project as Start Up project (for example, Blocks project) and make sure Build config is set to "Develop Editor" and x64.
3. After Unreal Editor loads, press Play button.
Expand Down
19 changes: 8 additions & 11 deletions docs/unreal_upgrade.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,39 @@
# Upgrading to Unreal Engine 4.27
# Upgrading to Unreal Engine 5.3

These instructions apply if you are already using Colosseum on Unreal Engine 4.25. If you have never installed Colosseum, please see [How to get it](https://github.com/CodexLabsLLC/airsim#how-to-get-it).
These instructions apply if you are already using Colosseum on Unreal Engine 4.27. If you have never installed Colosseum, please see [How to get it](https://github.com/CodexLabsLLC/airsim#how-to-get-it).

**Caution:** The below steps will delete any of your unsaved work in Colosseum or Unreal folder.

## Do this first

### For Windows Users
1. Install Visual Studio 2022 with VC++, Python and C#.
2. Install UE 4.27 through Epic Games Launcher.
2. Install UE 5.3 through Epic Games Launcher.
3. Start `x64 Native Tools Command Prompt for VS 2022` and navigate to Colosseum repo.
4. Run `clean_rebuild.bat` to remove all unchecked/extra stuff and rebuild everything.
5. See also [Build Colosseum on Windows](build_windows.md) for more information.

### For Linux Users
1. From your Colosseum repo folder, run 'clean_rebuild.sh`.
2. Rename or delete your existing folder for Unreal Engine.
3. Follow step 1 and 2 to [install Unreal Engine 4.27](build_linux.md).
3. Follow step 1 and 2 to [install Unreal Engine 5.3](build_linux.md).
4. See also [Build Colosseum on Linux](build_linux.md) for more information.

## Upgrading Your Custom Unreal Project
If you have your own Unreal project created in an older version of Unreal Engine then you need to upgrade your project to Unreal 4.27. To do this,
If you have your own Unreal project created in an older version of Unreal Engine then you need to upgrade your project to Unreal 5.3. To do this,

1. Open .uproject file and look for the line `"EngineAssociation"` and make sure it reads like `"EngineAssociation": "4.27"`.
1. Open .uproject file and look for the line `"EngineAssociation"` and make sure it reads like `"EngineAssociation": "5.3"`.
2. Delete `Plugins/Colosseum` folder in your Unreal project's folder.
3. Go to your Colosseum repo folder and copy `Unreal\Plugins` folder to your Unreal project's folder.
4. Copy *.bat (or *.sh for Linux) from `Unreal\Environments\Blocks` to your project's folder.
5. Run `clean.bat` (or `clean.sh` for Linux) followed by `GenerateProjectFiles.bat` (only for Windows).

## FAQ

### I have an Unreal project that is older than 4.16. How do I upgrade it?
### I have an Unreal project that is older than 4.27. How do I upgrade it?

#### Option 1: Just Recreate Project
If your project doesn't have any code or assets other than environment you downloaded then you can also simply [recreate the project in Unreal 4.27 Editor](unreal_custenv.md) and then copy Plugins folder from `Colosseum/Unreal/Plugins`.

#### Option 2: Modify Few Files
Unreal versions newer than Unreal 4.15 has breaking changes. So you need to modify your *.Build.cs and *.Target.cs which you can find in the `Source` folder of your Unreal project. So what are those changes? Below is the gist of it but you should really refer to [Unreal's official 4.16 transition post](https://forums.unrealengine.com/showthread.php?145757-C-4-16-Transition-Guide).
If your project doesn't have any code or assets other than environment you downloaded then you can also simply [recreate the project in Unreal 5.3 Editor](unreal_custenv.md) and then copy Plugins folder from `Colosseum/Unreal/Plugins`.

##### In your project's *.Target.cs
1. Change the contructor from, `public MyProjectTarget(TargetInfo Target)` to `public MyProjectTarget(TargetInfo Target) : base(Target)`
Expand Down
1 change: 1 addition & 0 deletions docs/who_is_using.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,5 @@ Just add a [GitHub issue](https://github.com/CodexLabsLLC/airsim/issues) with qu
* [Myned AI](https://www.myned.ai/)
* [STPLS3D - University of Southern California Institute for Creative Technologies](http://www.stpls3d.com/)
* [Central Michigan University](http://www.waynenterprises.com/research)
* [Codex Labs LLC](http://www.codex-labs-llc.com)

0 comments on commit f8224e2

Please sign in to comment.