[VR / Oculus quest 2 / Unity] File browser to select and load an image

Hi !

I’m making a Unity project where I need to be able to change logos during the game without using a PC, only using the oculus.

The thing is that I can’t find a way to make a file browser window appear in the oculus the same way as on a computer.

I tried using : GitHub - yasirkula/UnityNativeFilePicker: A native Unity plugin to import/export files from/to various document providers on Android & iOS

But it shows this message:

So, here’s my question, does someone know how to browse a file inside an oculus quest 2 by using unity with the objective to replace an image inside the game ?
Or any other solutions, the only objective is to be able to modify an image in the build version of the project on the oculus without using a computer.

Thanks !

Hello @grancru09 !

i cannot see the image you have uploaded but i had a problem using these plugin too.

My solution :

  • Make sure that you’ve set the Write
    Permission to External (SDCard) in
    Player Settings.

    permission manually in your
    file with the tools:node=“replace”
    attribute as follows:
    (you’ll need
    to add the
    attribute to the

  • Upgrade your android version to API

Good luck on your project

I don’t think that the native file picker can be used in VR - it opens the ‘native’ window, it doesn’t render into your VR app.

So if you cannot find some other plugin that recreates a file picker that renders in Unity (instead of using some OS feature), you could still create your own file picker.

Damn, it’s VR. Go create some cool, 3D file browser you can fly through or something. Or keep it simple and familiar, but still 3D and somewhat animated. Why would you break the immersion by using the native android file picker, clearly designed for a small phone screen and touch input, when your mind is teleported into a 3D world?

.Net has classes that make it very easy to visit the filesystem, like DirectoryInfo and FileInfo etc. You could generate image thumbnails to show as textured 3D objects, just make sure you are loading them asynchronously, and only keeping the thumbnails in memory (or, only the currently visible thumbnails, plus some cache). Or - does anyone know, if OSes provide some “Get Thumbnail” function?

Did you found a solution?