The current recommended and tested environment is Ubuntu 16.04 LTS. Theoretically you can build on other distros and OSX as well but we haven't tested it.
It's super simple 1-2-3!
- Make sure you are registered with Epic Games. 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.17 at present.
# go to folder where you clone GitHub projects
git clone -b 4.17 https://github.com/EpicGames/UnrealEngine.git
cd UnrealEngine
# few times Epic folks broke the build so we will get commit that works
git checkout af96417313a908b20621a443175ba91683c238c8
./Setup.sh
./GenerateProjectFiles.sh
make
- Clone AirSim and build it:
# go to folder where you clone GitHub projects
git clone https://github.com/Microsoft/AirSim.git
cd AirSim
./setup.sh
./build.sh
Remote control is required if you want to fly manually. See remote control setup for more details. Alternatively you can use APIs for programmatic control or use so-called Computer Vision mode to move around using keyboard.
Finally, you need Unreal project that hosts the environment for your vehicles. AirSim comes with built-in "Blocks Environment" or you can create your own. Please see setting up Unreal Environment.
One of the major issue is this bug in Unreal. We have done a workaround for some parts of the code but we haven't tested if everything is covered. Another known issue is that when clicking "End" button causes Unreal to crash. A final known issue is that report function (when you press R
key), also causes crash because of above reasons.
At the time of writing (July, 2017), version 4.17 is still in "preview" stage and is unstable. We have seen some rare but random crashes during startup. You might get warning that AirSim plugin is incompatible which you can ignore. Also, when clicking on "End" button freezes the Unreal Editor requiring to manual kill of its process.
First go to folder MyUnrealProject/Saved/Crashes
and then search directories for MyProject.log file. At the end of this file you will see stack trace and message. Also see Diagnostics.txt
file.
You can use Qt or CodeLite. Instructions for Qt Creator is available here.
Yes, you can but we haven't tested it. You can find instructions here.
We use same compiler that Unreal uses which is Clang 3.9. AirSim's setup.sh
will automatically download Clang 3.9. We also need to use libc++ that Unreal uses. The libc++ code is cloned by AirSim's setup.sh
in to llvm-source
folder and built in llvm-build
folder. The cmake is the instructed to use libc++ from llvm-build
folder. For other flavors of Linux and more info, please see http://apt.llvm.org/.
Yes! The *.Build.cs
files are, however, no longer compatible (you will get compile error). You can find files for 4.16 as *.Build.4.16.cs
so just rename those.
3.5.0 or higher. This should be default in Ubuntu 16.04. You can check your cmake version using cmake --version
. If you have older version the follow these instructions or see cmake website.
Yes, however you can't run Unreal from BashOnWindows. So this is kind of useful to check Linux compile, not for end-to-end run. See BashOnWindows install guide. Make sure to have latest version (Windows 10 Creators Edition) as previous versions had various issues. Also don't invoke bash
from Visual Studio Command Prompt
otherwise cmake might find VC++ and try and use that!
Sometime Unreal + VS build system don't do recompile if you change only header file. So try making some cpp file dirty.