Autonomous Rover Testing Simulator in Unreal Engine 5
View the Project on GitHub MissouriMRDT/RoveSoSimulator
Return to RoveSoDocs Guides for Today, Tomorrow, and Forever.
This page covers a conversion to a newer version of Unreal engine.
This one covers 5.6.1 to 5.7.4, for the “Main” branch, which had the C++ Rover features but not procedrual generation.
Not to be confused with a converstion over the same versions but for the Procedrual branch.
This page contains (in reverse order)
Had issues getting project to be copied by unreal. Duplicated files and then used convert in place option.
Did not update sentry, disabled it.
Did not update game, only made sure everything could load.
running issues: rover could not drive backward or even stop driving
installed 5.7.4, made a copy of project via file explorer to keep old one just in case
put paratheses around a line in SolverBody.h (part of the engine); frequent error, does not actually make sense (operator precedence should make paratheses unnecessary).
Info:
File address: \UE_Folder\Engine\Source\Runtime\Experimental\Chaos\Public\Chaos\Evolution\SolverBody.h
Line: 101
Change: std::numeric_limits<FSolverReal>::min -> (std::numeric_limits<FSolverReal>::min) : after return , followed by ()
Note: Files were read-only b/c git, had to be set to writable (prompted on attempting change)
Disabled sentry Changed Default build settings in both .Target.cs files to V6 from V5
used convert in place; error when attempting to use the make a copy option, work around.
This log was made to keep track of each step in the conversion. It includes “mistakes made”; attempts to do stuff that did not work. It also does not include optional “prepartion steps”, i.e. making a copy of project.
launched 5.7
attempted to open project
failed with errors
prompted to open with VS (did)
attempted build
warnings and error(s)
warning:
1>EXEC : warning : [Upgrade]
1>EXEC : warning : [Upgrade] Using backward-compatible build settings. The latest version of UE sets the following values by default, which may require code changes:
1>EXEC : warning : [Upgrade] WindowsPlatform.bStrictInlineConformance = true => Updates MSVC inline conformance (Remove unreferenced COMDAT) to true (Previously: false).
1>EXEC : warning : [Upgrade] UndefinedIdentifierWarningLevel = WarningLevel.Error => Enables compile-time validation of undefined identifiers in conditional expressions. (Previously: Off).
1>EXEC : warning : [Upgrade] Suppress this message by setting ‘DefaultBuildSettings = BuildSettingsVersion.V6;’ in RoveSoSimulatorEditor.Target.cs, and explicitly overriding settings that differ from the new defaults.
1>EXEC : warning : [Upgrade]
error:
1>RoveSoSimulatorEditor modifies the values of properties: [ UndefinedIdentifierWarningLevel: Off != Error ]. This is not allowed, as RoveSoSimulatorEditor has build products in common with UnrealEditor.
1>Remove the modified setting, change RoveSoSimulatorEditor to use a unique build environment by setting ‘BuildEnvironment = TargetBuildEnvironment.Unique;’ in the RoveSoSimulatorEditorTarget constructor, or set bOverrideBuildEnvironment = true to force this setting on.
updated lines in
RoveSoSimulator.Target.cs
and
RoveSoSimulatorEditor.Target.cs
Line updated (in both);
DefaultBuildSettings = BuildSettingsVersion.V5;
to
DefaultBuildSettings = BuildSettingsVersion.V6;
(…Version.V[5] -> …Version.V[6])
successfully started build (passed previous error)
“new” error: SolverBody.h;
Resolved w/ paratheses
*According to the c++ operator hierarchy, this shouldn’t even be a bug.
project builds
success
launching game
potential issue with sentry resolved (failed once, not sure when issue changed)
success
testing issues