How to set up Collab Viewer Template for standalone Quest 2/3

Hello,

I recently got the Collab Viewer template working perfectly standalone on a Quest 3.

I had to make several simple changes to the template and I will provide them below.
Unfortunately, I am creating this from memory and might miss a step or two. If anyone is still having issues with their project, I’d be happy to help.

I’m also assuming your computer is already setup for quest development with the SDKs, NDKs and all the rest. I suggest trying to build a standard VR Template to your headset as a test. If that works, I believe this should work as well.


Project Settings:

  • Start in VR – ON
  • Use Splitscreen – OFF
  • Target Hardware – Mobile Scalable

Open BP_LoginMenuPawn and make the following changes:

  • Attach the Widget Component to the Camera and set the following transforms on the widget:
    Loc: 250, 0, 0
    Rot: 0, 0, 180
    Scale: 0.15, 0.15, 0.15
  • Set the rotation in the Y-axis of the Left and Right WidgetInteraction components to -70.

Open the Event Graph of BP_LoginMenuPawn and make the following changes:

  • Right after BeginPlay:
    • Delete the GetHMDDeviceName
    • Delete the Equals that was connected to it
    • Delete the AND Boolean
    • Connect the Platform “android” check straight to the Boolean on the Branch
  • In the “Show VR Login Menu” section:
    • Delete the “Place component in front of VR camera” node and the two reference nodes that were connected to it.
    • Connect a Delay node with duration of 2 seconds after SetVisibility
    • Connect the rest of the flow, from Delay to the existing Cast node.
  • In the “Generate random user name to avoid using VR keyboard” section:
    • Right at the end, after Set Text, you will call a CustomEvent from your widget blueprint. You will create this event in the next steps, come back to this graph and call the function here.

Open the EventGraph of Widget_MainMenu and make the following changes:

  • Create a new custom event called “BypassEvent” or anything similar.
    • Find the section labelled “Commit display name text, but only if the user has entered at least one character”. This should start with a node called OnTextChanged (usernametextfield).
    • Connect the exec pin of your BypassEvent to the input exec of SetIsEnabled that is already connected to the TRUE exec of your branch. To clarify, the branch TRUE should go to the SetIsEnabled node and the BypassEvent should also plug into the SAME SetIsEnabled node.
3 Likes

Hi @Squishido , can you elaborate the last step on how to call the Custom function “BypassEvent” in the event graph of BP_LoginMenuPawn?, and does it connect to the Set Text Node?

Thank you in advance

Hey @V_A_T_S_A_L ,

Yeah sure,
here’s a screenshot of it. just connect the bypass event to the right node and call that event in your BP_LoginMenuPawn.

1 Like

Hi Squishido, thank you so much for sharing this. After following your instructions, I am still struggling to get this working. After making the changes you suggested, the application still launches in Windowed mode, and is now very small in the window compared to before. Do you have any suggestions or would you perhaps be willing to share your project file? I am quite desperate to get this working. I appreciate it!

1 Like

Replying again because I was able to get it working! My issue was that I had not enabled Package for Oculus Mobile Device in Android->Advanced APK Packaging. Also, I discovered that Windows and Oculus builds seemingly need to be the same (version?) for the Oculus device to be able to connect. So make a new Windows build for every Quest build, I guess.

2 Likes

Hey,
Unfortunately I have no idea why that was causing an issue and I personally have never had to make a windows build for it to run on the quest.
Glad you got it working though!

2 Likes

Getting Error here: “Generate random user name to avoid using VR keyboard” section


whats the Solution:

2 Likes

The bypass event is giving me the same error? What should be the target in that event?

2 Likes

I’m running into the same error and hoping this thread gets updated with an answer. Am I missing something obvious here?

2 Likes

@DeSpelder011 @v.kas.ngh @JsCholo

The target pin should be connected to the “As Widget Main Menu” pin from the existing “Cast to Widget_MainMenu” node.

As the event was created in the Widget Blueprint, you need to specify that the event is being called on that widget.

Let me know if you need a screenshot but it should be easy.

2 Likes

Hi, I found a problem where, when I start the game in Quest, the pawn spawns much higher than the player starts. At the same time, everything works fine in the PC version. Also, when I test in the editor, it looks fine for the VR preview also. any idea?

1 Like

Hey Hkon,

I think I remember having the same issue but teleporting to the ground fixed it afterwards.
Is that the same for you?

No idea what could cause it but maybe you could add some blueprint script that sets the player’s location back to origin on BeginPlay?

1 Like

I’ve encountered this as well, specifically on the Quest. I was able to (I think) fix it by adjusting the Default Player Height variable on BP_VRPawn. In my specific case the player needs to be fixed to the ground and unable to move, so this had to be solved without teleportation. The default value was 500.0 but changing it to 10 was a significant improvement.

1 Like

yep, found the same solution

2 Likes

Hi,
Not sure if my issue is related to this.
But i am trying to do this for 5.4.4 version, however when i package i get some plugins issues with the interchange plugins, related to datasmith and dataprep. Anyone else getting this isssue?
Havent tried this with 5.3 or lower versions yet.

@Squishido @iTwango @HKonashevyhc Please help! When I click Next to Host the session, my Quest 3 just returns to home, closing the application… I did everything as you described and even as iTwango suggested I had to Package for Oculus Mobile Device too, to fix the window issue, but why does it not allow me to host the session?

I appreciate your help so much, this is very urgent for me, I would appreciate the help so much!
Here is the video where you can see what I mean (also yes, the laser is not visible due to mobile multi view and not using mobile HDR)