06-10-2024 01:23 PM
Hello, I'm sure I've done something wrong or missed something, but I'm trying to get my entitlement check working and I'm having a heck of a time.
A bit of background:
When I download the
MetaXRPlatform (Version 65.0)
The Engine starts up with this error:
The 'OculusPlatform' plugin was designed for build 5.3.0. Attempt to load it anyway?
and when I press Yes it gives me another error:
Do I need to compile something else somewhere? Please help!
JP
Solved! Go to Solution.
06-11-2024 08:51 PM
Alright well, that's about 72 hours of building, retrying things, and pulling my hair out. Here's what I've managed to sort out;
Using the Unreal Engine 5.3.2 from the Epic Games launcher:
Download the MetaXR plugin from here: https://developer.oculus.com/downloads/package/unreal-engine-5-integration/
Download the MetaXRPlatform plugin from here: https://developer.oculus.com/downloads/package/unreal-5-platform-sdk-plugin
Both of these should sit in your Unreal Plugins folder under a folder called "Marketplace". These should work with the latest version of Unreal, but you don't get all of the sweet bells and whistles from the Unreal Meta Fork
I haven't tested the Entitlement check on the MetaXRPlugin so I can't speak to that.
Using the Unreal Engine 5.3.2 Meta Fork:
Downloaded from here https://github.com/Oculus-VR/UnrealEngine
and installed and compiled painstakingly over (for my computer) 4-6 hours.
Once I compiled the version I got from the link above, it was missing the MetaXRPlatform. I tried to install the MetaXRPlatform plugin like I did by putting it in the plugins/Marketplace folder but that didn't work for me.
What did work for me was getting the MetaXRPlatform version from here: https://github.com/oculus-samples/Unreal-SharedSpaces
After trying to put that version in the marketplace folder it also didn't work. So I left the files in the marketplace folder, and then opened visual studio. I added the Folder structure via "add filters" in the context menu and dragged the files from the folder into the right places. Then I built the solution again. Thankfully, VS is smart enough to only try to build things that need to be built.
I tried this same process with MetaXRPlatform version 65.0, 64.0, 63.0, and 62.0 to no avail. It was only the one that I downloaded from the link to 'shared-spaces' that worked for me. It built successfully and when I started up my Unreal, the MetaXRPlatform was finally functioning in the version of Unreal that Meta modified and that I had to build on my machine. I'm currently testing the Entitlement check. I'm not 100% sure I have it working, but it looks like it's doing a check.
06-17-2024 08:44 PM
Alright, so this will be marked as the answer because I finally got this working. It's been about a week and a half of me just trying different **bleep**. I'm going to just jot down here what I changed today to finally roll this over into "working". A few of these things I believe won't need to be done, I'm too ecstatic to go and test each one, so if someone from Unreal or Meta wanders in here and wants to correct me, I really really hope they do.
Okay:
The long journey
The Meta Quest App Manager:
Unreal Engine Project Settings
Add this to the bottom of your DefaultEngine.ini in your [project]\config\ directory:
I hope this helps someone. I'm suuuuuuure I've missed a lot of steps, but this got me using the latest MetaXRPlatform plugin on the Oculus Meta Fork.
I'm not sure how either organization could have made this clearer, but maybe laying absolutely everything out in one guide like I just tried to do would have been helpful. This has been compiled from 10-20 different posts around the internet from a bunch of different places and a bunch of different time periods. Oh well. I hope this helps someone. Happy coding, friends!
06-11-2024 08:51 PM
Alright well, that's about 72 hours of building, retrying things, and pulling my hair out. Here's what I've managed to sort out;
Using the Unreal Engine 5.3.2 from the Epic Games launcher:
Download the MetaXR plugin from here: https://developer.oculus.com/downloads/package/unreal-engine-5-integration/
Download the MetaXRPlatform plugin from here: https://developer.oculus.com/downloads/package/unreal-5-platform-sdk-plugin
Both of these should sit in your Unreal Plugins folder under a folder called "Marketplace". These should work with the latest version of Unreal, but you don't get all of the sweet bells and whistles from the Unreal Meta Fork
I haven't tested the Entitlement check on the MetaXRPlugin so I can't speak to that.
Using the Unreal Engine 5.3.2 Meta Fork:
Downloaded from here https://github.com/Oculus-VR/UnrealEngine
and installed and compiled painstakingly over (for my computer) 4-6 hours.
Once I compiled the version I got from the link above, it was missing the MetaXRPlatform. I tried to install the MetaXRPlatform plugin like I did by putting it in the plugins/Marketplace folder but that didn't work for me.
What did work for me was getting the MetaXRPlatform version from here: https://github.com/oculus-samples/Unreal-SharedSpaces
After trying to put that version in the marketplace folder it also didn't work. So I left the files in the marketplace folder, and then opened visual studio. I added the Folder structure via "add filters" in the context menu and dragged the files from the folder into the right places. Then I built the solution again. Thankfully, VS is smart enough to only try to build things that need to be built.
I tried this same process with MetaXRPlatform version 65.0, 64.0, 63.0, and 62.0 to no avail. It was only the one that I downloaded from the link to 'shared-spaces' that worked for me. It built successfully and when I started up my Unreal, the MetaXRPlatform was finally functioning in the version of Unreal that Meta modified and that I had to build on my machine. I'm currently testing the Entitlement check. I'm not 100% sure I have it working, but it looks like it's doing a check.
06-15-2024 08:21 AM - edited 06-15-2024 08:23 AM
As an addendum to the above, I've tested more and learned that if you put the MetaXRPlatform 65.0 plugin into your Marketplace directory (Within your Unreal Engine meta fork plugins directory) and then strip the Engine version, ("EngineVersion": "",) in the OculusPlatform.uplugin file (Within the plugin directory now located at [Unreal Engine]/Engine/Plugins/Marketplace/) you can get it to compile.
Then you must compile your project and it should all work.
For me, the entitlement check still doesn't seem to be working, but I'm working through that currently...
06-15-2024 09:18 PM
Well! It seems we've encountered the same issue almost at the same time. Are you also trying to use shared spatial anchors? When I was developing, I only used the MetaXR plugin, and there was no problem with packaging or uploading it to the developer's app. Even when I downloaded my app from the headset, it worked fine. But the only issue was that I couldn't save the spatial anchors to the cloud. Then I realized that the MetaXRPlatform plugin was also required for development. My situation is similar to yours. Once I turned on the MetaXRPlatform plugin, the project encountered severe errors during packaging, and it was impossible to package. I'm curious if the MetaXRPlatform plugin is indeed affecting the upload of anchors to the cloud. Is this plugin absolutely necessary?
06-16-2024 07:36 AM
Actually, as far as I can tell, yes, this plugin IS required. You need to use the MetaXRPlatform plugin to perform an Entitlement check (https://developer.oculus.com/documentation/unreal/ps-entitlement-check/) which for me is STILL not working, even after placing the plugin in the Unreal Engine dir and building it, and then building my project.
I'm lucky, I don't get errors in compilation, and I don't get errors when I package anymore. The above steps helped me figure all of that out. No, where I get errors is in a seemingly successful entitlement check.
Would love someone from Meta or someone who has experience take a look at these errors and tell me what I'm doing wrong...? (App ID and app name changed to protect the innocent)
11:43:08.286 2123 2570 E ExternalPlatformLocal: AppID found in Library(7738032152979111) does NOT match the appID in the bundle([7738032152979111]).
11:43:08.287 2123 2570 E EntitlementCheckResultBuilder: ResultBuilder error has been set to: user does not have app in library
11:43:08.287 2123 2570 E EntitlementCheckResultBuilder: com.oculus.horizon.service.ExternalPlatformLocal$PackageNotInLibraryException: Package com.epicgames.MyAppVR not in users library
11:43:08.287 2123 2570 E EntitlementCheckResultBuilder: at com.oculus.horizon.service.ExternalPlatformLocal.getAppID(:268661377)
11:43:08.287 2123 2570 E EntitlementCheckResultBuilder: at com.oculus.horizon.service.ExternalPlatformLocal.getAppID(:536870914)
11:43:08.287 2123 2570 E EntitlementCheckResultBuilder: at com.oculus.horizon.service.result.ResultBuilder.A00(:1648)
06-17-2024 12:59 PM
It's sad really the state of incompatibility amongst these SDK's. The current SDK version is v65 listed in the Meta Quest Hub the Plugin is only compatible for 5.3.0, the unreal engine version listed is 5.3.2 (no 5.3.0 present) the compatibility and capabilities have to be tested by individual developers who get stuck in these kinds of 4-6 hour poke and hope troubleshooting hair pulling sessions. When I published my first working APK to the oculus platform I used unity and it was hard enough, I just don't understand the disconnect. You would think someone here at Meta would make this process as easy as downloading the SDK so you can place it not in your "marketplace folder" because that version is deprecated, not using a fork or a github listing but right from oculus into the plugin folder. I just don't know why this isn't given its due attention by Meta. I'm going to wait for Meta to update the one compatible with 5.4.1 on marketplace, I tried to drop the one from the oculus hub into the UE plugin folder and got the 5,3,0 only compatibility warning. I really wanted to get down in the weeds with UE development even though I can't stand blueprints although I bet it gets easier over time, Open XR platform development is just so much easier than working around all the proprietary nonsense that seem to be carry overs cobbled together from inhouse developers more than anything else. Unity has its own problems that's for sure, I just don't know why someone at Meta isn't more of an advocate for unreal when so much has been spent on VR development. (following)
06-17-2024 08:44 PM
Alright, so this will be marked as the answer because I finally got this working. It's been about a week and a half of me just trying different **bleep**. I'm going to just jot down here what I changed today to finally roll this over into "working". A few of these things I believe won't need to be done, I'm too ecstatic to go and test each one, so if someone from Unreal or Meta wanders in here and wants to correct me, I really really hope they do.
Okay:
The long journey
The Meta Quest App Manager:
Unreal Engine Project Settings
Add this to the bottom of your DefaultEngine.ini in your [project]\config\ directory:
I hope this helps someone. I'm suuuuuuure I've missed a lot of steps, but this got me using the latest MetaXRPlatform plugin on the Oculus Meta Fork.
I'm not sure how either organization could have made this clearer, but maybe laying absolutely everything out in one guide like I just tried to do would have been helpful. This has been compiled from 10-20 different posts around the internet from a bunch of different places and a bunch of different time periods. Oh well. I hope this helps someone. Happy coding, friends!