Missing Engine Plugin Headers and Unknown Engine Version

I have a CPP project named JetClub which I built using UE 4.25.3 source from github. I built the project onto an HDD mounted on /mnt/hdd/{UnrealEngine root}. After a while working on the HDD, I realized I could get some performance improvements from using an M.2 so I cleared some space and rebuilt the same UE 4.25.3 in /home/a/{UnrealEngine root}.

The ~/Documents/Unreal Projects/JetClub/ directory was filled with a bunch of dead references to the old engine, which I found using **grep -r “mnt/hdd” * ** from the project’s root directory. I swapped any mention of mnt/hdd with home/a and was able to open the project from the terminal using ./UE4Editor /home/a/Documents/Unreal\ Projects/JetClub/JetClub.uproject from the new {UERoot}/Engine/Binaries/Linux directory; however, I now face a weird issue in QtCreator/running ./UE4editor from the terminal without specifying the project path. I’m greeted with this screen:

Note the ? at the bottom right corner and the slightly grayed layer over the project thumbnail

If try to open the project I get this message:

This project was made with a different version of the Unreal Engine. Converting to this version will rebuild your code projects.
New features and improvements sometimes cause API changes, which may require you to modify your code before it compiles. Content saved with newer versions of the editor will not open in older versions.

We recommend you open a copy of your project to avoid damaging the original.

Creating a copy of the project/converting to the new /home/a engine creates a project under /home/a/Documents/Unreal\ Projects/ which gives me the option to open JetClub 4.25/JetClub.uproject, but this project fails to build as some Engine header files are not found. Here’s a snippet from Saved/Logs/JetClub.log:

[2020.09.06-22.17.31:889][568]CompilerResultsLog: #include "VehicleWheel.h"
[2020.09.06-22.17.31:889][568]CompilerResultsLog: e[0;1;32m         ^~~~~~~~~~~~~~~~
[2020.09.06-22.17.31:889][568]CompilerResultsLog: In file included from /home/a/Documents/Unreal Projects/JetClub/Source/JetClub/TP_VehicleAdv/TP_VehicleAdvWheelFront.cpp:3:
[2020.09.06-22.17.31:889][568]CompilerResultsLog: e[1m/home/a/Documents/Unreal Projects/JetClub/Source/JetClub/TP_VehicleAdv/TP_VehicleAdvWheelFront.h:6:10: e[0me[0;1;31mfatal error: e[0me[1m'VehicleWheel.h' file not founde[0m
[2020.09.06-22.17.31:889][568]CompilerResultsLog: #include "VehicleWheel.h"
[2020.09.06-22.17.31:889][568]CompilerResultsLog: e[0;1;32m         ^~~~~~~~~~~~~~~~
[2020.09.06-22.17.31:889][568]CompilerResultsLog: In file included from /home/a/Documents/Unreal Projects/JetClub/Source/JetClub/TP_VehicleAdv/TP_VehicleAdvPawn.cpp:3:
[2020.09.06-22.17.31:889][568]CompilerResultsLog: e[1m/home/a/Documents/Unreal Projects/JetClub/Source/JetClub/TP_VehicleAdv/TP_VehicleAdvPawn.h:6:10: e[0me[0;1;31mfatal error: e[0me[1m'WheeledVehicle.h' file not founde[0m
[2020.09.06-22.17.31:889][568]CompilerResultsLog: #include "WheeledVehicle.h"
[2020.09.06-22.17.31:889][568]CompilerResultsLog: e[0;1;32m         ^~~~~~~~~~~~~~~~~~
[2020.09.06-22.17.31:889][568]CompilerResultsLog: In file included from /home/a/Documents/Unreal Projects/JetClub/Source/JetClub/TP_VehicleAdv/TP_VehicleAdvGameMode.cpp:4:
[2020.09.06-22.17.31:889][568]CompilerResultsLog: e[1m/home/a/Documents/Unreal Projects/JetClub/Source/JetClub/TP_VehicleAdv/TP_VehicleAdvPawn.h:6:10: e[0me[0;1;31mfatal error: e[0me[1m'WheeledVehicle.h' file not founde[0m

In the project’s JetClubHeader.pri these are referenced on line 15407:

*“$$unrealRootPath/Engine/Plugins/Runtime/PhysXVehicles/Source/PhysXVehicles/Public/VehicleWheel.h” *

*“$$unrealRootPath/Engine/Plugins/Runtime/PhysXVehicles/Source/PhysXVehicles/Public/WheeledVehicle.h” *

I’ve confirmed that UE 4.25.3 contains these files and $$unrealRootPath points to the correct location:

[a@jsonV JetClub]$ grep -r "unrealRootPath=" *
JetClub.pro:unrealRootPath=/home/a/UnrealEngine**

Oddly, the Test project referenced in the above image builds/launches just fine and its Test.pro and TestHeaders.pri are very similar.

How can I update the engine version, or update the converted copy of the project so that these Engine header files are properly linked?

What I’ve tried since this manual attempt at readdressing /mnt/hdd to /home/a issues:
Deleting the JetClub’s Intermediates/Saved/etc… (untracked items in .gitignore) and going to $$unrealRootPath and running the following:
make UE4Editor ARGS=-clean -j16 in /home/a/Documents/Unreal Projects/JetClub
./Setup.sh /home/a/Documents/Unreal\ Projects/JetClub/JetClub.uproject
./GenerateProjectFiles.sh /home/a/Documents/Unreal\ Projects/JetClub/JetClub.uproject
make UE4Editor -j16 /home/a/Documents/Unreal\ Projects/JetClub/JetClub.uproject
./UE4Editor /home/a/Documents/Unreal\ Projects/JetClub/JetClub.uproject
Still I have a project that fails to launch due to VehicleWheels.h and WheeledVehicle.h, but the thumbnail is no longer grayed out:

Dear valued Unreal Engine user,

Each .uproject when stored separate to the engine hierarchy (known as a “foreign” project) will have inside it an "EngineAssociation": "", key/value pair. The value will reference a specific engine installation GUID and the list of those GUIDs can be found in ~/.config/Epic/UnrealEngine/Install.ini. If you have moved the engine you may wish to update location in Install.ini, alternatively you can re-run Setup.sh and it should ask to register the engine association.

As you have listed running Setup.sh in your list of attempts, it looks as though that may have fixed that specific issue.

For the header related issue. Is PhysXVehicles definitely still included as a Public or Private module in the *.Build.cs file and is PhysXVehicles still included as a plugin in your .uproject?

If none of that helps, then, you could try creating a new blank project and including that plugin, to see if it compiles. If it does, it would indicate an issue with your project, if it does not, then an issue with the engine. If it is an issue with the Engine, then perhaps try cleaning the Intermediate and running -clean, specifically in the root of the engine hierarchy itself, rather than inside the project. If the issue is with the project and a new project works, then there may be some stale data left over, in which trying to clean it again and get it as close to the new project as possible, or the issue may be unrelated to changing the engine installation.

The other possible workaround, would be to move the project inline with the Engine itself, and skip using the foreign project workflow. e.g. next to ./Engine you have a ./YourProject directory. You can then just run GenerateProjectFiles.sh in the Engine source and run make YourProjectEditor. I believe this is the workflow Epic uses for most of its games.

Thank you for your continued support,