Autonomous Rover Testing Simulator in Unreal Engine 5
View the Project on GitHub MissouriMRDT/RoveSoSimulator
Return to RoveSoDocs Guides for Today, Tomorrow, and Forever.
When attempting to setup RoveSoSimulator on Linux, it is likely that you will encounter multiple roadblocks, primarily to due with Unreal Editor’s disaffinity for Linux. This guide will document known issues and workarounds, if you have a novel problem or solution please add it to this section of the docs.
There are two ways to install unreal engine. The first is the portable way which will work for most linux systems. If you wanted a packaged version, go to the arch linux install section.
Make sure to download the Linux version here by selecting the Linux_Unreal_Engine_X.X.X.zip download.
The path to the executable once extracted is ./Engine/Binaries/Linux/UnrealEditor.
If you have issues where the sim is unable to be compiled then you may need to manually build the sim. (Detailed below)
Before interacting with the project, the Linux environment requires specific compilers and libraries that match Unreal Engine’s toolchain (LLVM/Clang).
Install required packages (For Arch Linux but should still work with your distros package manager):
sudo pacman -S dotnet-sdk clang lld libc++ libc++abi ncurses5-compat-libs git make
dotnet-sdk: Required for Unreal Build Tool (UBT).clang / lld: The compiler and linker used by Unreal.libc++ / libc++abi: Unreal and its third-party C++ plugins (UE4CMake) link against the LLVM standard library, not the GNU default. Without this, CMake generation fails.Unreal projects often contain Windows-specific settings that break Linux builds.
Issue: The ChangesWatcher plugin caused build rule errors.
Fix: Explicitly disable the plugin for Linux in the project settings or engine configuration.
.../Engine/Plugins/Marketplace/ChangesWatcher/ChangesWatcher.uplugin."Linux" to the PlatformDenyList in the Modules section.Issue: The Diversion plugin caused build rule errors.
Fix: Explicitly disable the plugin for Linux in the project settings or engine configuration.
RoveSoSimulator.uproject file with a text editorBuilding on Linux is a manual, command-line process consisting of cleaning, generating a Makefile, and compiling.
Step A: Generate Project Files
This creates the Makefile required to compile the C++ code.
~ inside quotes.
/path/to/UnrealEngine/Engine/Build/BatchFiles/Linux/GenerateProjectFiles.sh -project="/path/to/RoveSoSimulator/RoveSoSimulator.uproject" -game
Step A-1: Setup Intellisense If you are using VSCode or a derived editor (VSCodium, etc.) these steps will enable Intellisense.
/path/to/UnrealEngine/Engine/Build/BatchFiles/Linux/GenerateProjectFiles.sh -project="/path/to/RoveSoSimulator/RoveSoSimulator.uproject" -vscode
cd /path/to/RoveSoSimulator
link .vscode/compileCommands_RoveSoSimulator.json compile_commands.json
Get the Clangd extension for your editor and disable the Microsoft C++ Extension if its installed. Open the RoveSoSimulator.code-workspace file with your editor and the Clangd extension should automatically begin scanning headers once you open a source file.
Step B: Compile (Make) Compiles the Editor binaries for the project.
make RoveSoSimulatorEditor Development Linux
Troubleshooting CMake Errors:
If you see cannot find -lc++abi, ensure the dependencies from Step 1 are installed. If installed and still failing, clear the cache:
rm -rf Intermediate/CMakeTarget
Launch the Unreal Editor with the project loaded.
/path/to/UnrealEngine/Engine/Binaries/Linux/UnrealEditor "/path/to/RoveSoSimulator/RoveSoSimulator.uproject"
It seems that only the dotnet sdk is required, install instructions here.
The simplest solution to getting the plugin will be to ask another team member to zip/tar their copy of the plugin and send it to you. The location of the plugin varies depending on platform and method of install:
Windows: <UNREAL-EDITOR-INSTALL-LOCATION>\Engine\Plugins\Marketplace folder\Diversion
Default install location is C:\Program Files\Epic Games\UE_<VERSION>
<UNREAL-EDITOR-INSTALL-LOCATION>/Engine/Plugins/DiversionRoveSoSimulator/Plugins/DiversionNavigate to <UNREAL-EDITOR-INSTALL-LOCATION>/Engine/Source/Runtime/Core/Public/HAL and run the following:
cp PlatformFileManager.h PlatformFilemanager.h