Savegame on Oculus Quest does not work

My savegame system works on every single VR platform except for Quest.

Yes, the External UE4GameFiles Dir checkbox is checked

I do not understand why it will not work, when it works on all other platforms without any problems.

Is there something special I have to do to save games on the quest?

Also have this problem, using Oculus branch UE4.25.3. Every time game is re-opened all data is gone.

External UE4GameFiles Dir checkbox is checked, and I see both of these permissions in the AndroidManifest.xml

Anyone have any suggestions?

You might need to manually add Android.permission.WRITE_EXTERNAL_STORAGE to permissions array (Project Settings → Android)

Forgot to respond, but I ended up solving it by doing as mentioned above and also in the Game Instance I use the Check Android Permissions blueprint to see if the app has the permissions, if not use the Request Android Permissions to set them.

This got the dialogue popping up for me the first time the game starts. I think the game needs to be restarted for saving to actually work though after the first time though, I still need to test this.

I’ve added WRITE_EXTERNAL_STORAGE to the Extra Permissions Section and I still can’t seem to get it to save anything. I’ve used the Request Permissions node, but it never shows up either. My game is completely screwed by this!

Try this in your Game Instance. I’m checking for 3 permissions, and if any fail then we request the user to give permissions. For me the first time someone loads the game it asks for the permissions, after that even with new installs as long as its under the same name the permissions are still valid.

Did you write “android.permission.WRITE_EXTERNAL_STORAGE” or just “WRITE_EXTERNAL_STORAGE” ? Not sure if it matters but I think it made a difference when I did it for my android smartphone game.

I think the Event Init in the Game Instance is the very first thing the app runs before it loads and displays anything. So safe place to ask for Permissions. Also related I just found out there is Event Shutdown in Game Instance which will execute even when users force quit the app from the Quest home menu (in case you need to have autosaving), or in my case to clear pawns in multiplayer.

I wrote the whole thing. I was able to get it to work, but I believe I also had to add “android.permission.READ_EXTERNAL_STORAGE”. It seems you have to do both. I put some nodes in the Level Blueprint, checking to see if both of those were done, and if they weren’t, to ask each one. To the end user, it only shows up as a single question.

I am having a crash on the Oculus Quest 2, that seems to happen randomly, right when my game tries to remove an item from the Save. It could be some other issue, but I think some saves might still be unstable.

Thanks, I wrote something very similar and stashed it in the Level Blueprint. It was able to get my saves to work again.

Is there some reason to use the Game Instance instead? My game uses a single level, which is rebuilt procedurally, so it’s always the same level.

Event Shutdown! I’ve seen that, but didn’t know what it was for. Good to know!

I write little bits of data as needed, which happen in a millisecond, but I can see how the auto-save during forced shutdown would be a great feature!