Using posix/libc functions like fopen() cannot access the assets dir of a plugin since this is a RAM disk loaded from the assets tarball.
It's a nice feature that the simulator simulates the actual filesystem of the assets, we can catch some issues this way.
But the downside is that standard filesystem calls don't work for it.
I think a solution could be to have calls to asset::plugin(pluginInstance, "path/to/file") return a full path to an un-tarred assets directory.