Create a VR project, configure it for streaming, fix the two problems the Unreal template ships with, and package it ready to upload.
In Unreal Editor, create a new project, choose Virtual Reality under Games, name it and press Create.
Tick Pixel Streaming (Plugin 1). Not Pixel Streaming Player, and not Pixel Streaming 2 if your list shows it: Pixel Streaming 2 does not stream on Unreal 5.5 — see plugin compatibility.
Press Restart Now in the banner shown above.
Two things in Unreal's VR template need attention before it will stream properly.
B_AssetGuideline from the Content Drawer
It is a guide asset for people working in the editor, and has no place in
a streamed build. Unreal warns that it is still referenced by
VRPawn; choose Force Delete.
VRPawn, then compile and save
The force delete left VRPawn pointing at an asset that no
longer exists. Compiling and saving it clears that reference.
The template's player starts partly below the ground, and returns there after
every teleport. The cause: teleportation moves the
centre of the player to the target, without accounting for
the collision capsule — so the lower half of the capsule ends up inside
the floor. There are two places to fix: the Player Start, for the first
spawn, and the teleport itself in VRPawn, for every teleport
after it. Moving the Player Start alone does not stop teleports sinking.
Select the Player Start actor in your level and raise its Location Z until the collision capsule clears the ground. Aim for standing on the ground — neither sunk into it nor floating above it. Unreal should also show a Bad Size label on a Player Start whose capsule is obstructed, and clear it once the capsule is free.
Open VRPawn and find the TryTeleport
function. Between the calculated teleport location and the
Dest Location input of the Teleport
node, add a vector + node with
X 0, Y 0, Z 110. The player then lands standing on the
floor rather than half inside it. Compile and save.
Choose an empty folder for the output.
Press Show Output Logs. The most common cause of a packaging failure is Visual Studio not being configured for Unreal, which the log will say and the dialog will not.
Select everything inside it and compress that — not the
folder itself, which buries the .exe a level too deep.
A ZIP ready to upload. Test it locally with a headset first, then upload it exactly like any other application.
Before uploading, run the build on your own computer and open it in the headset. A VR fault is much easier to see there than through a stream. The one extra step is HTTPS, because a headset's browser only allows VR on a secure page. Testing VR locally covers every step.
Then open the app's streaming URL in the headset's browser.
Last updated