I’m looking for a tutorial, how to export a godot 4.3 game to the Meta PC Store and I hope someone can help me.
Is it possible with the Windows Desktop profile to generate a executable package für the meta developer hub?
Is it possible to generate a Flat and OpenXR version in the same project?
If you want to create a flat and VR version of your game the easiest way to do this is by using feature flags:
You can add a feature flag and then use that to alter your project settings for that export and disable the OpenXR module.
Similarly you can check for the feature flag in code to change your logic or use the feature flag to open a different main scene that sets things up for Flat.
thank you for the information and links. The feature tags to create a flat and VR version helps me but the exporting of a PCVR version for the rift store is not clear.
I enabled “Embed PCK” and also enabled Codesign in the windows export option. I converted my keystore file (used for the android quest export) to a PKCS12 type and set the identity to this file.
After exporting I have a executable, which works directly on my pc but if I try to upload this file with the meta developer hub, I received an API_ERROR.
I also tried to upload a not “Embed PCK” version, which includes the libgodotopenxrvendors.dll, my pck and the exe(cutable) with the same error.
Unless you’re using any specific vendor extensions for PCVR, you don’t need to the vendor plugin for your game. If you do need to include it, it should be a separate DLL, it can’t be embedded and the store shouldn’t prevent you from submitting a game consisting of multiple files (that’s the norm on PC).
The embed PCK option is only there to attach your game files to the EXE instead of having a separate game PCK file, again whether you embed the PCK or not, you should be able to submit your game.
I don’t think you can use the keystore for signing Android builds, for PCVR games. I believe for signing PCVR games you need a suitable signing certificate issued by a certification authority. So that may be part of your issue, but I could be wrong about that.
Most people upload PCVR games to Steam so there is a fair bit of information out there for that (it’s no different then submitting normal PC games) but I don’t know anyone who has specifically submitting a Godot game to the Meta store for PCVR, so I don’t have any information specifically on the steps involved here.
Plenty of people who’ve submitted Quest native games but that is a different story.
My project is running on Quest (native), PC-VR and PC-Flat. I added the vendor plugin for the quest mode. How can I remove the vendor plugin for the the windows export only? I also tested the upload with and without the DLL and the problem is still the same. The error response is not very useful from Meta “{"response":{"error":{"message":"Unsupported request - method type: post","type":"OCApiException","code":100,…”
I tested with/without embed PCK, because of the warning in the documentation: “If you export for Windows with embedded PCK files, you will not be able to sign the program as it will break.”.
I’ll check the singning procedure and let you know if I get new information about it. Maybe the meta developer support has some tips about it.
A PCVR for Steam is planned but I also want to use the crossbuy feature (buy the game once and play it on the Quest and on the PC) with the godot engine. Would it be possible for you to ask your meta connections about it?
I believe there is a 1 GB limit, I don’t know if that only applies to the Quest or also to the Rift, but if your game is more than 1 GB, then you’ll have to add the PCK as a required asset: developers [DOT] meta [DOT] com/horizon/documentation/native/ps-assets/#required-asset-files which basically mean that you’ll need to create a JSON like the example in that page.
(It says new users can only post 2 links, so you’ll need to format the last link correctly)
Hi! Thank you very much, as you said, it’s a problem with MQDH itself and with CLI it was possible to upload. I recieved the same stupid errors if I use the token in CLI but with the secret, it works perfect.