[BUG] Using Git from Win to Mac forces manually deleting binary data

Hi,

First of all, not sure if for UE to work with git properly you have to have source control with git enabled. I don’t think it should, but maybe it does. The reason why I mention this is because I couldn’t get it to activate in Mac, so I’ve been using a git client to handle that part (sourcetree, not that it matters).

So far I’ve only seen this behaviour from Win to Mac, since I do my coding in Win (for a plethora of reasons). When I got to mac I updated the local repository, launched the project in UE and I expected that it would recompile the source and everything would work.

The first thing I noticed is that the source doesn’t recompile on it’s own. So I decided to click compile, it worked, and said that hot reload happened.

So when I hit play, I was expecting the game to work, but it complained that there were errors in the blueprints. These were blueprints that were influenced because of the code changes, and when I clicked compile on them the errors don’t go away (e.g. on instance was that I had initially APlayerState → PlayerStateBP::GetIndex, but when adding the c++ code it became APlayerState → PlayStateCpp → PlayerStateBP, where GetIndex is in PlayerStateCpp). In order to fix them I had to delete those nodes and re-add them, and only then recompile the BP.

The only way I got it to working automatically was to close UE, delete the binaries, intermediate, saved folders, and relaunch the project, at which point it says that there are no dlls and asks to rebuild them.

After doing this, the Mac version worked fine. However, I doubt that this manual step of deleting the binary data should be needed.

Regards,

Nuno Afonso

So yes, first of all, my git plugin was not tested under Mac in 4.7, but is now working for the upcoming 4.8 release.
See for instance Problem with Git version control on MacOS - Programming & Scripting - Unreal Engine Forums

Then, you should not put any Intermediate, Binaries, nor Derived Data Cache. All these depends too much on your exact setup, and are certainly not portable.
Have a look at Problem with .gitignore in UE4 project - Pipeline & Plugins - Unreal Engine Forums
Is this helping?

Hi, thanks for getting back at me.

I’m not adding those to git btw, but locally you always have them created. So when I update from git, UE will have to “rebuild” a lot of those binaries, but it seems that it doesn’t atm - at least when code changes are in there.

It seems that UE has to realize that it needs to rebuild the binary stuff and not have that manual step where I’m forced to go into finder and delete those folders. Makes sense?

EDIT: In case it wasn’t clear, it seems to be a problem with UE, not git / git plugin.

Sure, this seems more like an issue with assets cache rebuild or something like that.

Are you sure you don’t have any issue like a too big time difference between your computers?

No, that should be fine. They’re both the same computer (bootcamp), times are basically the same, but it’s also not like I tried to do it right away. I did the stuff in Windows, committed, the next day I opened OS X and did a pull.