Relocating the RetroArch app causes strange problem with shaders

I am experiencing a strange problem with RetroArch 1.9.0 (Metal) which I compiled myself using XCode.

I placed the compiled app in a folder called Retroarch in the root directory (i.e. Macintosh HD) and proceeded to load my cores and configs etc. That all worked fine. Shaders are working fine and everything. I tested a few different cores such as Fuse, ScummVM etc. All good so far. All the appropriate config files are created in User/Library/Application Support/RetroArch.

Then, when I changed my mind about where I wanted to store the app, I tried moving it to different locations in Macintosh HD, and also tried placing it on the Desktop. Basically, if I move the app anywhere other than where I originally placed it (i.e. Macintosh HD / Retroarch) then my pre-selected shaders are not working. The core will start normally and I can load a game, but the shader will not ‘work’ - it says it is selected in the shader configuration but all I see is normal nearest neighbor graphics in full screen. If I then place the Retroach app back into the Macintosh HD/Retroarch, the shader works normally again.

I do not move any other files or change any config settings - this behavior is triggered just by moving the location of the Retroarch app.

I am commpletely stumped because I cannot figure out what app dependencies could result in the location of the app being important - does it not obtain everything it needs from within its own app package and in Library/Application Support?

@almeath On macOS, shaders are stored inside the app bundle (in /RetroArch.app/Contents/Resources/shaders) and the file path for shaders is stored inside the configuration automatically…

You will need to either edit the file location manually inside the config (and maybe each auto-shader you created) or just change the directory for shaders inside RetroArch’s settings directly…