Loading a project resets several config settings

When I load my project, several configuration files are reset to default versions. Things like the input configuration and engine settings are reset to absolute default values (it didn’t even reset to the FPS input settings even though I created a project using the FPS template). I have my version of the settings in source control and have reproduced this every time.

My suspicions are two conditions. I tried to set up Git source control with the editor. It was working, but I wasn’t a fan of it and disabled it. I also tried to create a duplicate of the the project’s folder. Was it this copy that caused UE4 to be confused while discovering projects on startup? The following are my observations.

Whenever I reset my project to my Git version, the project loads with the “template_default” map instead of the map I set the starting map to. I’ve tracked which files change by checking the “git status” of my project before and after loading the project.

Before:

D:\Game Dev\Projects\SCP_001_Origin_Files>git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

After (changes the moment that UE4 begins initializing the project load process):

D:\Game Dev\Projects\SCP_001_Origin_Files>git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   Intermediate/Config/CoalescedSourceConfigs/Editor.ini
        modified:   Intermediate/Config/CoalescedSourceConfigs/EditorPerProjectUserSettings.ini
        modified:   Intermediate/Config/CoalescedSourceConfigs/Engine.ini
        modified:   Intermediate/Config/CoalescedSourceConfigs/Game.ini
        modified:   Intermediate/Config/CoalescedSourceConfigs/Input.ini
        modified:   Saved/Config/Windows/Engine.ini

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        Saved/Config/CrashReportClient/UE4CC-Windows-1E8D7785400E48FE6ED5EEAA7DFE43D1/

no changes added to commit (use "git add" and/or "git commit -a")

The untracked file “UE4CC…” seems suspicious although it looks benign.

CrashReportClient.ini:

[CrashReportClient]
bHideLogFilesOption=false
bIsAllowedToCloseWithoutSending=true
CrashConfigPurgeDays=2

Every time I reopen the project, a new “UE4CC…” folder is created. I ran a test to see if changes to the affected files are reset too. I added a new action input to the project settings. When I reopened the project, a new crash client folder was created but the new action input was still there. To further this, I ran “git reset --hard” to reset my project to my original custom settings. Again, the files were reset, a new crash client folder was created, but the new action input was still there. I double-checked the file at ./Intermediate/config/CoalescedSourceConfigs/Input.ini, and sure enough, the new action input is there.

With that being said, it seems like the project is using some sort of backup data files to reset the project to. I tried deleting all of the backup and autosave files that I could find in the project, but UE4 continues to reset the ini files.

You shouldn’t commit your Intermediate and Saved directories! Or the Build directory. They contain generated files and aren’t important. You could delete those directories and everything would still work (they will get generated again).

Good to know! I was wondering why the config files are located in a folder called “Intermediate,” but that makes sense now. Though, that still doesn’t really solve my problem as to why my settings are being reset. Leaving out the Intermediate and Saved directory only leaves me with the Content folder, the Config folder (which is empty), and the UE4 project file. I don’t know where project settings would be stored in those remaining folders.

Edit: I double-checked and now the Config folder has “DefaultEngine.ini” and “DefaultInput.ini.” When I was setting up Git manually, there wasn’t anything in the Config folder so I didn’t track it. Either I messed up some how and deleted the contents of the Config folder when setting up, or the native Git support in the UE4 editor deleted the Config folder contents when I turned it on then off. I’ll look to see if I can reproduce this with a new project.

Normally you would have the following files in your Config folder: DefaultEditor.ini, DefaultEngine.ini, DefaultGame.ini and DefaultInput.ini. When you change a setting in the editor it should save it in these files.

Possibly related problems:

https://answers.unrealengine.com/questions/717964/view.html

https://answers.unrealengine.com/questions/307073/view.html

https://answers.unrealengine.com/questions/787767/view.html

That seems to be the only issue here. The whole Config folder must’ve been erased at some point before I could get it into my Git repo. I tried to reproduce the scenario and could not reproduce the problem. Enabling the in-editor Git source control, adding assets to the git repo, then disabling Git in-editor. After running the procedure, the Config files were still there. Therefore, I must’ve made a mistake while setting up Git manually.

Assuming there’s not an easy way to convert the Intermediate config files into the “Default…ini” files, it looks like I’m stuck building them up from scratch again.

Thanks for the help though!

Unreal should automatically generate these files in the Config directory once you edit a project setting. Could it maybe be that the directory is read-only?

I don’t think so. Everything was working fine for a couple of weeks. It was only when I tried setting up Git. At first, everything seemed okay. The next day, no more Config files. Seeing as I could write new config settings and it would generate the Config files, I think the folder was fine.

I looked in my recycle bin just to see if maybe I deleted the files. They weren’t there, so I must have run a Git operation that removed those files by mistake.