UE4 Solution always out of date

Hi,

I had UE4.11 running fine and I worked with it for quite a while without a problem. Then I had to replace my hard drive so I eventually re-did the UE4 install.

This time, for some reason, I cannot debug or run UE4 without it telling me that the ShaderCompileWorker project and the entire UE4 solution are out of date.

I build the solution and both show up in the output as “Target is up to date”.

I run UE4 again and it says that ShaderCompileWorker and the UE4 solution are still out of date.

It was a clean install and I did nothing differently this time. I thought it might be because of the Daylight Savings switch so this is my second attempt at a fresh install.

Please help!

There is no real solution. UBT has to run because building a UE4 project involves a lot more than compiling C++ code. It would be nice if there was an official way to avoid this but there isn’t.

The best workaround is to check the “Do not show this dialog again” option and Click “Yes”.

The other option is to check the “Do not show this dialog again” option and Click “No”.

The first option is safer because you will never make the mistake of running your code without compiling in your changes. The extra (and unnecessary) build time sucks but at least you’ll never run something you didn’t build first.

Finally, you can always just deal with the prompt every time. When you know it’s up to date, just click “No” but leave the checkbox unchecked.

I see there was a workaround, but was there ever a solution found for this issue? I am seeing the same problem - namely, that Visual Studio thinks ShaderCompilerWorker and our game project are out of date when I try to launch from the IDE. UE4 4.11.1, Windows 10 Pro 64-bit, VS2015.

Not that I know of. The only thing close to a solution is to do what I did. It just means an unnecessary build step whenever you run your code. And if you check “Never ask again” you’ll eventually get used to seeing it rebuild when you know it doesn’t need to. I’ve gotten used to it. It’s not too bad.

me too.I compile source ue4 and push it to svn server.After I checkout again,it was out of date.I don’t know why,as @anonymous_user_64f7311b said:There is no reason why it should be happening. But it happened,do someone have any other idea?

What version are you using? I haven’t seen this happen in a long time. It might be a different problem and since this question never got much attention you may want to post your own question with details.
It’s kind of funny that my question isn’t important enough to upvote but the answer is disappointing enough to downvote.

Hang on. I turned off my workaround and it still happens with 4.14.1. I’m pretty sure this is happening because the UnrealBuildTool needs to run every time to make sure the project is built. That means more than VS simply checking that the C++ code hasn’t changed. There should be a way for us to run the project without bothering with UBT but there isn’t AFAIK. In other words, my workaround is the only safe way to deal with it. You can tell VS to always run without building but then you will sometimes mistakenly run without compiling in your changes. If you do what I suggest, you have to cope with the time it takes UBT to realize everything is up to date, but it’s the best workaround IMO. (Edit) I updated my answer to reflect what’s in this comment.

I did not start getting this problem until I only have VS 2017 on my box. Been building from source since. 4.12 without this happening. Of course, VS 2017 has had a couple of compiler updates and an update to fix a compiler bug in 15.5.2.