oculus-samples / Unreal-SharedSpaces

Oculus multiplayer showcase demonstrating basic multiplayer functionality in Unreal, including Oculus Platform Social APIs, Photon as the transport layer and UE replication. The Oculus SDK and other supporting material is subject to the Oculus proprietary license.
Other
129 stars 64 forks source link

Shared Spaces Not Launching For Test User #6

Closed Gariantroll closed 2 years ago

Gariantroll commented 2 years ago

I am not having any luck launching Shared Spaces for Test Users. The project installs and the load screen comes up, but once it loads the games just exits. It works for the primary account without issue, so I thought this was an issue with the account. Any thoughts?

LAYTAT commented 2 years ago

Yes, this happened for me too. The game launched on my oculus quest 2 and I saw a glimpse of the game and it exited. I do not currently know the reasons.

els-oculus commented 2 years ago

For test users to be able to run local builds, they need to be added to your org as developers. Try this: copy the alias of your test user and add it to your org as dev.

We recently added a new blog entry that actually mentions this: https://developer.oculus.com/blog/oculus-multiplayer-development-quick-start-guide/

Gariantroll commented 2 years ago

I believe I did that, I even made one of them an admin, but no dice. I decided to make a new account and add it to my other oculus and it worked. I will buy another headset and try again with the Test account. Thanks for the quick reply.

I also had to figure out how to upload my Alpha to get the invite to work. It took a minute, but I finally got the alpha build to upload. I think you should talk about that in your documentation. It would really help ease people into developing more VR experiences.

Alexis


From: Eric S. Le Saux @.> Sent: Tuesday, February 22, 2022 7:12 PM To: oculus-samples/Unreal-SharedSpaces @.> Cc: Gariantroll @.>; Author @.> Subject: Re: [oculus-samples/Unreal-SharedSpaces] Shared Spaces Not Launching For Test User (Issue #6)

For test users to be able to run local builds, they need to be added to your org as developers. Try this: copy the alias of your test user and add it to your org as dev.

— Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Foculus-samples%2FUnreal-SharedSpaces%2Fissues%2F6%23issuecomment-1048331732&data=04%7C01%7C%7C3e6e05b7e6a24ac91fe908d9f6613451%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637811719631739313%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=MWKh3zGzlYFh6Oevz6Sj2HoF5GoBbroa8If3LQg5zlE%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABBF7DSA6WGDUVYF4QIJTHLU4QQ7PANCNFSM5O5C5APQ&data=04%7C01%7C%7C3e6e05b7e6a24ac91fe908d9f6613451%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637811719631739313%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=WkMtDZhN%2BSC8ByyOWosQwl9TBzcUkbAn0e1EiyA1ZOo%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7C%7C3e6e05b7e6a24ac91fe908d9f6613451%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637811719631739313%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=yvWYIf6vMH28PTT34L3H4AHUCgNaGujZb1Y29Utw0Ig%3D&reserved=0 or Androidhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7C%7C3e6e05b7e6a24ac91fe908d9f6613451%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637811719631739313%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=GTVV7iYBDilbbIDcSUGW%2F41CmvF4LumU1WITx1TP8vk%3D&reserved=0. You are receiving this because you authored the thread.Message ID: @.***>

Gariantroll commented 2 years ago

Yes, this happened for me too. The game launched on my oculus quest 2 and I saw a glimpse of the game and it exited. I do not currently know the reasons.

Hey, I got it to work, but not with test users. I just put another account on my other headset and invited my daughter to the Alpha. I switched over to another Facebook account because I noticed I couldn't even download the public shared spaces on the Test user account. I will try the test user again following the advice on this thread.

Gariantroll commented 2 years ago

For test users to be able to run local builds, they need to be added to your org as developers. Try this: copy the alias of your test user and add it to your org as dev.

We recently added a new blog entry that actually mentions this: https://developer.oculus.com/blog/oculus-multiplayer-development-quick-start-guide/

I followed that guide and still no dice. I am puzzled about where I am going wrong. Question: does the tester have to log in using a Facebook account or an oculus account?

els-oculus commented 2 years ago

Sorry for the long delay, but this one required us to do some serious digging. :D

It happens that our internal accounts have some extra privileges that allows our test users to run applications without first uploading them to a distribution channel. Until that changes (we are working on it) the simplest workaround is to upload your app to the store channel.

The documentation to do that can be found here:

Now this is a lot of documentation to read, so I'll give you a quick series of steps to follow.

  1. Generation of the keystore.

    keytool.exe -genkey -v -keystore your_project.keystore -alias your_project -keyalg RSA -keysize 2048 -validity 10000 Make sure to use the keytool.exe from Android Studio (C:\Program Files\Android\Android Studio\jre\bin\keytool.exe for me, otherwise the packaging will fail in packaging step 4) The tool will ask your for signature information (name, location, etc.), and for a password. Let's assume you entered "password_123".

  2. Copy keystore file to UE4\Projects\YOUR_PROJECT\Build\Android

    copy .\your_project.keystore C:\somepath\UE4\Projects\your_project\Build\Android\

  3. Change you project settings.

    a. Under Project > Packaging > Project, set your build configuration to "Shipping" and check "For Distribution".

    You can manually change your DefaultGame.ini to have the following settings, too:

    [/Script/UnrealEd.ProjectPackagingSettings] BuildConfiguration=PPBC_Shipping ForDistribution=True

    b. Under Platforms > Android > APK Packaging and Distribution Signing, make sure that the following entries are properly filled

    In DefautEngine.ini you should have something like this:

    [/Script/AndroidRuntimeSettings.AndroidRuntimeSettings] PackageName=com.yourcompany.[PROJECT] StoreVersion=1 VersionDisplayName=1.0 bRemoveOSIG=True KeyStore=your_project.keystore KeyAlias=your_project KeyStorePassword=password_123 KeyPassword=

    It is important to note that StoreVersion has to increase every time you upload a new build.

  4. Package in UE4: File > Package Project > Android > Android (ASTC)

    When it succeeds, you will find YourApp-Android-Shipping-arm64.apk and Install_YourApp-Android-Shipping-arm64.bat

  5. Uploading Build (use the app-id and the app-secret that you can find on the dashboard for your app).

    ovr-platform-util.exe upload-quest-build --app-id 1234567890 --app-secret 1a2b3c4d5e6f7890 --channel store --apk .\YourApp-Android-Shipping-arm64.apk

    You could put the app in the "alpha" channel, but the test user is using "store" by default.

  6. You can sideload the app by running Install_YourApp-Android-Shipping-arm64.bat

    The app will appear on your Quest headset under "Unknown Sources".

  7. Run "YourApp" as a test user, and it now it will pass entitlement.

    After verifying entitlement, the app will move from "Unknown Sources" to your library.

Please give this a try and let us know if you got your test user to work! :D

Gariantroll commented 2 years ago

@els-oculus

No worries. I figured it out a minute ago by doing this method and I meant to post this here as I did on the Oculus developers thread I participate in.

Supplemental Question: As I am building out this multiplayer experience, is there a guide to working with the Shared Spaces as a foundation with the Unreal Multiplayer guides? I am making great progress, but I am curious if I am using best practices since the Shared Spaces is relatively new. Thanks for any insight you have about this. In the meantime, keep creating my people.

els-oculus commented 2 years ago

SharedSpaces was built to demonstrate a few key points:

  1. How to use the new Oculus destination / rich presence APIs to quickly get together in VR.
  2. For many scenarios, such as lobbies and light gameplay, that it is possible to run the server on headset. One great feature of SharedSpaces is that it demonstrates how to transfer hosting from one player to another when the current host leaves.
  3. That you can use popular networking middleware such as Photon and EOS to establish communication.
  4. To help our devs get started with the difficulty of writing multiplayer titles!

Multiplayer games are complex beasts. We have not written a guide on what to do from here, but you can certainly use SharedSpaces as your starting point as you digest the Unreal Multiplayer guides out there.

Read this, too: https://cedric-neukirchen.net/Downloads/Compendium/UE4_Network_Compendium_by_Cedric_eXi_Neukirchen.pdf

My advice: start adding gameplay elements to SharedSpaces. Add different multiplayer mini-games to the different colored rooms. That's a great path forward to get familiar with actor roles, replication, remote procedure calls and so much more.

Gariantroll commented 2 years ago

@els-oculus This is such a great resourceThanks!

els-oculus commented 2 years ago

We have been working with our backend service engineers to look at this in more details. We have some changes/fixes to share with you:

I will close this issue, but if you have been blocked by this problem, please leave a comment confirming whether or not this has fixed it for you.

Frequency-Sensitive-Meat commented 2 years ago

We have been working with our backend service engineers to look at this in more details. We have some changes/fixes to share with you:

* You are no longer required to upload a build, which also means that test users will pass entitlement for applications that are in "Unknown Sources".

* The test user no longer needs to be added as "developer" either.

I will close this issue, but if you have been blocked by this problem, please leave a comment confirming whether or not this has fixed it for you.

Hello els-oculus!

I am currently experiencing this issue. I have a fresh install of shared spaces and when I attempt to load the app, it crashes just as the "Oculus Samples" loading screen finishes. I catch a glimpse of controller instructions and then the app quits.

Thank you for the instructions posted by you on the 8th of March! I'll be trying to upload my app to see if it resolves my issues.