docs/unreal_upgrade.md
These instructions apply if you are already using AirSim on Unreal Engine 4.25. If you have never installed AirSim, please see How to get it.
Caution: The below steps will delete any of your unsaved work in AirSim or Unreal folder.
x64 Native Tools Command Prompt for VS 2022 and navigate to AirSim repo.clean_rebuild.bat to remove all unchecked/extra stuff and rebuild everything.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,
"EngineAssociation" and make sure it reads like "EngineAssociation": "4.27".Plugins/AirSim folder in your Unreal project's folder.Unreal\Plugins folder to your Unreal project's folder.Unreal\Environments\Blocks to your project's folder.clean.bat (or clean.sh for Linux) followed by GenerateProjectFiles.bat (only for Windows).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 and then copy Plugins folder from AirSim/Unreal/Plugins.
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.
Change the contructor from, public MyProjectTarget(TargetInfo Target) to public MyProjectTarget(TargetInfo Target) : base(Target)
Remove SetupBinaries method if you have one and instead add following line in contructor above: ExtraModuleNames.AddRange(new string[] { "MyProject" });
Change the constructor from public MyProject(TargetInfo Target) to public MyProject(ReadOnlyTargetRules Target) : base(Target).
Follow above steps to continue the upgrade. The warning box might show only "Open Copy" button. Don't click that. Instead, click on More Options which will reveal more buttons. Choose Convert-In-Place option. Caution: Always keep backup of your project first! If you don't have anything nasty, in place conversion should go through and you are now on the new version of Unreal.