Modfix
Does not work for GamePass version currently: I need to download it on my sons PC to remedy that. Please check back later for Xbox/Gamepass version.
If you’re like me and even with a proper StarfieldCustom.ini or even directly editing Starfield.ini having added bInvalidateOlderFiles etc.. but mods refuse to load from the main game folder instead of the Documents\My Games\Starfield\Data\ location then this Modfix will cure that issue.
Modfix is simple in that is creates a Symlink from Documents\My Games\Starfield\Data\ to Starfield_Install_Folder\Data\ redirecting the game to load files from the main game location rather than from Documents. This makes is easier for you to install mods, especially through mod managers that install to the game folder.
If you do not already have a StarfieldCustom.ini then this Modfix will also create it for you. Don’t worry, if you already have one this will not overwrite it.
Q: I get “You do not have sufficient privilege to perform this operation.” when I run Modfix.cmd
A: Right-Click Modfix.cmd -> Run as Administator
Q: Will this overwrite my existing StarfieldCustom.ini
A: No, it will only create one with proper data if it does not exist already
Q: Will I lose my existing Documents\My Games\Starfield\\Data folder?
A: No, If you followed instructions you would have moved this already however, Modfix will rename it to Data_Backup – Follow instructions of Modfix once Modfix is complete. If you closed Modfix already, simply move the files/folders from inside the Data_Backup folder to your Game_Install_Folder\Data\ location. (Example: C:\Steam\steamapps\common\Starfield\Data\)
Q: I get “Starfield.exe not found. Please make sure you placed Modfix in the correct location and try again…” ?
A: See Docs, specifically Steps 4 and 5
Q: Can’t you make Modfix move my files for me?
A: In short, Yes. I didn’t because in the event you have mods there already, I will leave it 100% up to you if you overwrite existing files. This way, you cannot blame me for messing up your mods.
If you are hesitant in downloading Windows .cmd files but want to see if this works then here is the code as written in the Modfix.cmd file. You’re welcome to copy / paste into your own cmd file and try or just view so you can see there is nothing malicious. Of course, you can download and edit the file with any text editor to see the contents as well.
@echo off
TITLE=Starfield Modfix by Crypton
cd /D “%~dp0”
cls
echo Game Path: %cd%
echo.
set madebackup=0
if NOT exist “Starfield.exe” goto exitmodfix
if NOT exist “%UserProfile%\Documents\My Games\Starfield\StarfieldCustom.ini” (
echo [Archive]>”%UserProfile%\Documents\My Games\Starfield\StarfieldCustom.ini”
echo bInvalidateOlderFiles=^1>>”%UserProfile%\Documents\My Games\Starfield\StarfieldCustom.ini”
echo sResourceDataDirsFinal=>>”%UserProfile%\Documents\My Games\Starfield\StarfieldCustom.ini”
)
if exist “%UserProfile%\Documents\My Games\Starfield\Data” (
fsutil reparsepoint query “%UserProfile%\Documents\My Games\Starfield\Data” | find “Symbolic Link” >nul && goto alreadyfixed || goto backup
)
goto makelink
:alreadyfixed
echo It appears your mods are already fixed, no need to run this again…
echo.
echo You may close this window.
set madebackup=
pause>nul
exit
:backup
ren “%UserProfile%\Documents\My Games\Starfield\Data” “Data_Backup”
set madebackup=1
goto makelink
:makelink
mklink /D “%UserProfile%\Documents\My Games\Starfield\Data” “%cd%\Data”
goto complete
:complete
echo.
if %madebackup% EQU 1 (
echo Data located in %UserProfile%\Documents\My Games\Starfield\Data renamed to Data_Backup
echo Please move the files inside the Data_Backup folder to your %cd%\Data\ folder
echo.
)
if %ERRORLEVEL% EQU 0 echo Modfix is complete, you may close this window.
echo.
pause>nul
exit
:exitmodfix
echo Starfield.exe not found. Please make sure you placed Modfix in the correct location and try again…
echo.
echo You may close this window.
set madebackup=
pause>nul
exit
:alreadyfixed
echo It appears your mods are already fixed, no need to run this again…
echo.
echo You may close this window.
set madebackup=
pause>nul
exit