"Detect Changes on Restart" not recommended. Why?

Hi,

I just upgraded to 4.8 from 4.7 and there’s a new “Detect Changes on Restart” option. However, I was greeted with a warning that the option is not recommended “when working in collaboration with others and using source control”. I can’t make sense of it. My team and I are using Perforce and our workflow is to never sync with the editor open, because of the infamous “sync of death” bug (already reported here), which doesn’t seem to have been addressed in UE4.8 yet. So the case where file changes occur while the editor is closed is normal routine, which definitely requires reimporting changes upon restart. So, why is the option not recommended? I’d say it should be mandatory instead! Reimporting changes on restart should be the default behaviour and there should be no option at all to disable that! I frankly don’t understand what would be the adverse effect that Unreal is warning about. Can anyone clarify this?

Thanks,

I was reccomended to turn it on as someone had trouble with it using SVN but I ended up following unreals advice and not using it and worked fine for a 7 person team.

It is very confusing indeed. We also tried disabling the option and the editor actually keeps detecting changes on restart as I expect it to do. So I wonder what’s the option is really about. Maybe it’s there to detect changes on the “raw” data (not the .uasset files, but the original data file that are imported when you create the asset) and trigger a re-import? It makes sense to have an option to enable that, and the default behavior should, IMHO, be “disabled” and not “enabled, but I warn you that you should disable me”.

This is the description of property Detect Changes on Restart in the documentation.

Unreal Engine 4 is able to detect
changes to files that have occurred
since UE4 was shutdown. Any such
changes will be processed when UE4 is
reopened. This specific functionality
may not be desirable where source
control is enabled that will update
source content. In this environment it
is recommended that Detect Changes on
Restart is turned off to avoid the
potential of redundant reimporting
after getting latest.

This suggests that the Source Control module already tracks changes done via version control, and reimports assets accordingly, including when starting the editor. This would explain why Unreal Engine keeps importing the assets when the option is unchecked (as stated in iaanus’s comment) and why checking the option would be redundant.

Now, if the option is unchecked and you modified an asset manually (not pulling changes from version control), the changes may not be automatically detected (I haven’t verified that yet).

This suggests that the Source Control module already tracks changes done via version control, and reimports assets accordingly, including when starting the editor.
It’s true that the editor, when starting, detects changes and reimports assets accordingly. However, this is not done while the editor is running, as reported, for example here, which suggests that the Source Control module is actually not involved at all in the process.