Hello everyone,
I’ve been dealing with a strange scenario where UE Editor appears to be loading some cached version of my game build instead of grabbing the latest compiled artifacts…
I am using Visual Studio Community 17.13.5 and Unreal Engine 5.5.
I haven’t always had this issue, in fact is started abruptly. I have Live Coding
turned off, and have been using Hot Reload
.
If I make a change in any of my C++ classes/headers and compile in Visual Studio, my changes are NOT picked up by UE. I have tried using Build, Rebuild, Clean then Build/Rebuild and still haven’t gotten UE to pick up any changes.
What is strange is that the UE Output Log does notice that the compiler has run: LogHotReload: New module detected: UnrealEditor-ShipShooter-Win64-DebugGame.dll
; however, the changes aren’t ever reflected.
Example:
My class code contains logging:
UE_LOG(LogTemp, Warning, TEXT("Angular Velocity: %s"), *AngularVelocity.ToString());
UE_LOG(LogTemp, Warning, TEXT("Testing1234"));
UE_LOG(LogTemp, Warning, TEXT("Testing My Update Here *********************************************************************"));
UE_LOG(LogTemp, Warning, TEXT("Testing My Update Here 111111111111111111111111111111111111111******************************"));
My Output Log:
LogTemp: Warning: Angular Velocity: X=0.000 Y=0.000 Z=-18.298
LogTemp: Warning: Testing1234
LogTemp: Warning: Testing My Update Here *********************************************************************
LogTemp: Warning: Testing My Update Here 111111111111111111111111111111111111111
If I close UE and reopen UE, the changes are still not reflected. It is as if UE is pulling some cached version of my build from somewhere, but I’m not sure where that would be (I’m not using git or anything like that for file change management).
The ONLY thing that works is to delete the Saved, Intermediate, .vs, Binaries, and DerivedDataCache folders from my game project folder EVERY TIME I make a change. Not only is this incredibly tedious, but very rage inducing.
This behavior also works for a new C++ project. Sometimes I’m lucky and I get the first compile after adding a new class. For example, I added a Pawn
class and just had it print some test UE_LOG in the Tick
… It worked somehow on the first compile. But when I close the project and open it again, the new Pawn
class doesn’t exist and any BP that used this as the base is now broken.
I have the same broken behavior if I open any of my previous projects. I have projects from GameDev.TV that I did not too recently that don’t get any new changes for anything compiled in C++.
How is UE pulling some cached version of my project that I’m not aware of? If I add a new class and compile, the new C++ class isn’t visible, and if by some miracle the random compile works and I get it to show, as soon as UE is exited and started up again, some cached version of my project is being pulled where this C++ class no longer exists…
Things I’ve tried:
Rebuilding the solution
Rebuilding the project
Clean/Rebuild of both solution and project
Hot Reload Off, Hot Reload On
Closing the UE Editor and rebuilding, Clean/Build
I’ve been searching Google, Bing, asking Copilot, etc… and haven’t found anything that fixes this. I have deleted and removed Visual Studio and reinstalled everything, following the online tutorial for setting up VS again for everything. I’m close to just nuking all of UE and starting again. I’m hoping someone is able to help find a solution for me. I’ve lost an entire week of progress due to this. I’m pretty frustrated.
Thanks!