[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 !

I have been trying to solve this problem for a while now as well. But finally figured out a solution. While browsing the Unity forums I found that someone in the NativeFilePicker thread had this issue and linked another asset that solved his problem, an asset by the same author even and its also free:
https://forum.unity.com/threads/native-file-picker-for-android-ios-open-source.912890/page-3

What he suggests using instead is the Runtime Filebrowser or Simple File Browser:

The github page links the asset store as well where it can be downloaded for free also. I did not think this asset supported Android as well, but it does.
There is this issue to note though, it has been solved, but the Start method should be changed to Awake and you should add the code suggested here:

But also you need to update the SimpleFileBrowserCanvas as it is not setup for VR. It can be found in “Assets\Plugins\SimpleFileBrowser”. It needs to be changed to world space in its render mode and the scale should be adjusted. I changed it to 0.0048 in x, y and z. Experiment a bit.
Also give it a TrackedDeviceGraphicRaycaster so it can be interacted with in VR, and I am not sure if it helped but I found the disabled Eventsystem and updated its input system to something newer Unity has now that I suspect works better with VR and XR.

Not sure if maybe there is a way to always make this pop up in front of you because by default it has a specific world space position which is not very practical.

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.

  • Declare the WRITE_EXTERNAL_STORAGE
    permission manually in your
    Plugins/Android/AndroidManifest.xml
    file with the tools:node=“replace”
    attribute as follows:
    ``
    (you’ll need
    to add the
    xmlns:tools="http://schemas.android.com/tools"
    attribute to the
    element).

  • Upgrade your android version to API
    29

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?

I’ve been troubleshooting the “Unable to load profile” error on the Oculus Quest 2 and found several effective solutions:

  • Reconnect in Oculus Phone App:
    • Connect the Quest 2 to the Oculus phone app to sync any recent profile changes.
    • Restart the headset after reconnecting to ensure the changes take effect.
  • Username, Email, or Password Changes:
    • Changing your Oculus (Meta) username, email, or password can trigger this issue.
    • Reconnect the headset in the Oculus app to sync these changes.
  • Additional Troubleshooting Steps:
    • Log Out and Back In: Logging out and back into the Oculus app can help force synchronization.
    • Reconnect to WiFi: Disconnect and reconnect your WiFi in the headset’s device settings.
    • Launch a Game from the App: Try launching a game from the app to refresh the library.
    • Reinstall Oculus Phone App: Sometimes, reinstalling the app can resolve underlying bugs.
    • Factory Reset Headset: As a last resort, a factory reset can be effective but will require reinstalling games and apps.

These steps helped in resolving the profile loading issue efficiently. Feel free to check out my post for more details on any of these fixes!