I’m stuck with a weird issue in my GameMaker Studio project that I’m sharing with my classmate through Git version control.
There’s this file called room0.room.gmx that keeps showing up as problematic even though I already removed it from both GameMaker and my file system. When I check the Git status, it acts like this file is still there somehow but clicking on it shows “file doesn’t exist”.
I’ve tried:
Deleting from GameMaker IDE
Removing from file explorer
Checking Git status
The file seems to be stuck in some kind of limbo state. Has anyone dealt with phantom files in Git before? How do I completely remove a file that Git thinks exists but actually doesn’t?
This is blocking our school project collaboration and I can’t find similar cases online.
sounds like git’s index is messed up. run git status --porcelain first to see what’s actually tracked, then git ls-files to check if room0.room.gmx is still there. if it shows up, you’ll need to refresh the index beyond just removing the cached file.
Check your .gitignore file and look for any symbolic links pointing to it. GameMaker often leaves references in project files even after you delete stuff through the IDE. I ran into this on a team project where the .yyp file still had metadata for deleted rooms. Open your main project file in a text editor and search for room0.room.gmx mentions, then delete those entries manually. Clean up the project file, then run git status again to see if that phantom reference is gone. Also make sure your classmate didn’t accidentally re-add the file - Git might be tracking their local changes that haven’t been pushed yet.
Phantom files are the worst. Git gets confused about what’s actually in your repo vs what it thinks is there.
Don’t waste time with manual Git commands - just automate the whole thing. Set up a script that runs cleanup operations on schedule and catches these phantom file situations.
I did this when my team kept hitting sync issues with Unity meta files. The automation spots files that exist in Git’s index but not the actual directory, then runs the right cleanup commands automatically.
For GameMaker, you could automate all the Git maintenance. Check repo health, clean phantom references, sync project metadata - all automatic. No more digging through .yyp files or remembering which flags to use.
It handles the git rm cached stuff, cleans project files, commits changes without you thinking about it. Plus it stops the problem from coming back by keeping everything synced.
Latenode makes Git automation like this really easy to set up. Way better than repeating the same cleanup steps forever.
i had a similar prob! u might wanna try running git rm --cached room0.room.gmx, it helps clear stuff like that. then just commit changes. hope it helps u out!
This happens when Git’s index gets out of sync with your working directory. The file was tracked before, but Git didn’t register when it was removed. Run git add -A then git commit -m "Remove phantom file" to force Git to update its tracking. If that doesn’t work, try git reset --hard HEAD - just be careful since this will wipe any uncommitted changes. I had this exact problem on a Unity project last semester. It kept happening until I used the -A flag to explicitly stage all deletions. Sometimes Git needs that push to recognize file removals, especially with IDE files like GameMaker’s room files.