Engine Association keeps changing between computers

After right clicking MyGame.uproject and Switch Unreal Engine Version to the newest Source Build (currently 4.13), it would change the Engine Association in MyGame.uproject. My friend would then not recognize the Engine Association and default to an old installation he has (4.9 or something). If he chose Switch Unreal Engine Version to the Source Build, it would again change the Engine Association, and this becomes a cycle.

My UE4 release-branch is forked from EpicGames/UnrealEngine to michaeleeli/UnrealEngine, and my friend cloned his UE4 from my michaeleeli/UnrealEngine so we’re using the same one. I tried gitignoring MyGame.uproject but it doesn’t work (seems like we have to first remove it from the project, which we don’t want that).

Any clue to why this is happening?

Hello Michaeleeli,

I’m assuming since your friend is syncing to the engine from your repository, he’s just getting the base files and then compiling the engine locally, correct? If so, this would be the cause. The engine version ID is different for every build and is set when it builds. It’s because having two versions of the same build on a computer at the same time would inevitably cause issues with the Engine Association.

As far as avoiding this, there are two ways I can think of that you can do so.

First, if you also include the project you’re working on in the Github repository (The project’s root folder at the same level as the engine’s Engine, Config, etc. folders) then the project will be automatically associated whenever GenerateProjectFiles is run, as they will be part of the same .sln. This is assuming that your project has code inside of it.

Secondly, you could do what this user did and manually write the same GUID to the registry, although I believe that would be more involved and I’m not sure of the exact process.

Hope this helps!

Hi Matthew,

Correct, we are compiling the engine locally.

I may be mistaken here, but the root folder of a project is where the “Binaries, Config, Content…” are right? If so, I am using the same source engine in multiple different projects, so the first method would not work for me as they would merge together. Edit: I just tried adding MyGame and its contents inside the engine’s folder but it still kept changing the engine association across computers. We indeed have code inside our project.

I am also unfamiliar how to do the second suggestion =(

I’m not sure why I said Engine and Config folders, as those are in different levels. The spot I meant would be one more level up. This is the kind of setup I’m suggesting:

When the project is placed in this location, as long as the project is a code project, you can run GenerateProjectFiles.bat and it’ll add the project to the UE4.sln. Each project would be listed as a separate module. This is how the .sln would look after the setup above:

108552-githubprojpic2.png

That setup worked. Thanks so much Matthew!