My test app can't access files next to it on other people's machines

I have a simple test app that my team will be using to rapidly iterate on some data. This data will ultimately be built into the app, but during development we want it to sit next to the app so they have easy access to it with their data-editing tools.

So my app looks for these data files like so:

        string resFolder = Path.GetFullPath("Resources");
        string blueNinja = Path.Combine(resFolder, "BluePlayer");
        string sheetPath = Path.Combine(blueNinja, "TEXTUREPACKER_SHEET.json");
        MySpriteSet ss = MySpriteSet.Load(sheetPath);

Note: the “Resources” folder here has nothing to do with the Resources folder in Unity; that’s just what I chose to call this data folder next to the app. So the above code is using standard C# path operations to get this folder next to the app, drill down a couple of levels, and open a file.

On my machine, this works great — I can put the built Mac app and its Resources folder anywhere, and as long as they’re next to each other, it loads right up.

But on anybody else’s Mac, the file fails to load, and the player log shows stuff like:

I assume this is some Apple security thing, where when we try to get a full path to the “Resources” folder, the OS lies and returns this temp path instead.

But I’m stumped as to what I can do about this. Is there any way our users can tell the OS to not sandbox (or whatever is going on) this app? Or are there different APIs I can use to access a file next to the app?

Did you ever find a solution to this?