cancel
Showing results for 
Search instead for 
Did you mean: 

UE4 Blueprints - Oculus Find Sessions Matchmaking (0 results found)

gavmacca
Protege
Hi there,

I have been trying to setup multiplayer sessions with the Oculus Sub System enabled, on UE 4.18.3. I have the entitlement check working correctly, I can successfully create a match.

However, the issue is that when I use the find sessions matchmaking node, it fires the success output but the results array size is always 0. (Note: I'm only hosting one session at a time so thats why I get the first result in the array, but the array size is always 0 regardless).

Here is the setup of my blueprint: https://image.prntscr.com/image/HOS-lW6zQ_mdQ7Z6A3q6Jw.png

Is there any particular steps I need to take to get a blueprint session result correctly?

Thank you.

11 REPLIES 11

gavmacca
Protege
trying to do the open id.oculus results in this:

(from output log)
LogGameMode: Display: Match State Changed from InProgress to LeavingMap
LogGameState: Match State Changed from InProgress to LeavingMap
LogNet: Browse: 2313632185328952.oculus//Game/Maps/MainMenu
LogTemp: Display: ParseSettings for GameNetDriver
LogTemp: Display: ParseSettings for IpNetDriver_0
LogTemp: Display: ParseSettings for PendingNetDriver
LogInit: WinSock: Socket queue 32768 / 32768
LogInit: WinSock: I am Tesla-PC (192.168.1.66:0)
PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
LogNet: Game client on port 7777, rate 500000



LogNet: Host name resolution failed with 48
LogNet: NetworkFailure: PendingConnectionFailure, Error: 'Your connection to the host has been lost.'
LogGameMode: Display: Match State Changed from LeavingMap to Aborted
LogGameState: Match State Changed from LeavingMap to Aborted
LogNet: DestroyNamedNetDriver IpNetDriver_0 [PendingNetDriver]
LogExit: PendingNetDriver IpNetDriver_0 shut down

gavmacca
Protege
Thank you for the reply. @imperativity

For the Oculus team, there just seems to be no way of doing Oculus sessions with blueprints.

Has your team successfully created Oculus sessions and joined them via blueprints? In 4.18.3 I can't seem to get it to work at all.

I have the subsystem active with the entitlement check working. It even comes up on the clients oculus app that they recently met my player in a game.

If the team has managed to create/join sessions using the oculus subsystem with blueprints, can you let me know what steps you guys have taken to make it work?

Thanks.

LostMyEd
Honored Guest
I would also be interested in how to get this working with blueprints, thanks

gavmacca
Protege
Sorry for the confusion there, on my original post I did mention the reason why I did that, it was because if the find sessions node returned success (I was only hosting one session at a time), I would get the first result of the sessions in order to join.

However if I did a array.length on the return from the blueprint node it would give me 0 results even if success fired, I assumed that if success fired it would have atleast 1 index in the array but it was always empty. (I did not provide a screenshot for this part)

Can you ask the team if Oculus sessions successfully works via blueprints only in 4.18.3? As everything I have tried is not working. Any examples or anything to get it sucessfully working would be a great help. Or if they have it working in 4.19?

Should I be able to join via command line of open <OculusID>.oculus? because that approach gives me the error of my second post and does not work.

Thanks!

pieterdub
Explorer
Hi there @gavmacca !

I just build a sample to test this and it was working for me.  This was in 4.18.3 pulled from the Oculus Git.  Are you running the version downloaded from Epic or the Oculus Git repo?  I haven't tested this against the Epic version yet which is a little behind, but I don't think any changes have gone in recently in this area.

Here is what I did:
One user creates a session for a browse type matchmaking pool:
j6acala97gnu.png
when the create session is successful, I call open level with a mapname?Listen

The other user looks for a match:
yrx4tfkp8y04.png
For simplicity I am just joining the first session in the array.  When join session executes, it is creating the network connection and traveled to the server's level.

In my client log:
[2018.02.22-23.10.51:933][216]LogBlueprintUserMessages: [SceneUI_C_0] Joined session
[2018.02.22-23.10.51:948][216]LogNet: Browse: 1064536240248618.oculus//Game/Main
[2018.02.22-23.10.51:948][216]LogTemp: Display: ParseSettings for GameNetDriver
[2018.02.22-23.10.51:948][216]LogTemp: Display: ParseSettings for OculusNetDriver_0
[2018.02.22-23.10.51:948][216]LogTemp: Display: ParseSettings for PendingNetDriver
[2018.02.22-23.10.51:948][216]LogNet: Verbose: Connecting to host: unreal://1064536240248618.oculus//Game/Main
[2018.02.22-23.10.51:949][216]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2018.02.22-23.10.53:885][337]LogNet: Verbose: 1064536240248618 changed network connection state
[2018.02.22-23.10.53:885][337]LogNet: Verbose: 1064536240248618 is connected
[2018.02.22-23.10.54:013][344]LogHandshake: SendChallengeResponse. Timestamp: 11.366853, Cookie: 030197107019074165250164101198091070016001122246111073193083
[2018.02.22-23.10.54:029][345]LogNet: Verbose: InitSequence: IncomingSequence: 1310, OutgoingSequence: 4971, InitInReliable: 286, InitOutReliable: 875
[2018.02.22-23.10.54:029][345]LogNet: UPendingNetGame::SendInitialJoin: Sending hello. [UNetConnection] RemoteAddr: 1064536240248618.oculus, Name: OculusNetConnection_0, Driver: PendingNetDriver OculusNetDriver_0, IsServer: NO, PC: NULL, Owner: NULL
[2018.02.22-23.10.54:045][346]LogNet: Verbose: PendingLevel received: Challenge
[2018.02.22-23.10.54:061][347]LogNet: Verbose: PendingLevel received: Welcome

One thing to note, is that I packaged up my build to use the OculusNetDriver since running in editor would use the IPNetDriver.  Can you try to package your build and see if you have the same fail result?  Make sure you have this in your DefaultEngine.ini:
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemOculus.OculusNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")

[/Script/OnlineSubsystemOculus.OculusNetDriver]
NetConnectionClassName="/Script/OnlineSubsystemOculus.OculusNetConnection"

Your log looks like it is trying to use the IPNetDriver with an Oculus Address:
LogNet: Browse: 2313632185328952.oculus//Game/Maps/MainMenu
LogTemp: Display: ParseSettings for GameNetDriver
LogTemp: Display: ParseSettings for IpNetDriver_0

That might be where the issue lies.  If you package up your build with the OculusNetDriver definition in the DefaultEngine.ini it may work as it did for me.  Please let us know!

Anonymous
Not applicable
Many thanks for posting this @pieterdub ! Until now I had thought unreal multiplayer on Gearvr was not possible with blueprints and was always hoping this would be fixed! Perfect timing as we are in the early stages of planning a multiplayer mobile vr game! 🙂

gavmacca
Protege
Thanks @pieterdub!

I have been using the epic binary version from the launcher. I will try all of this out and let you know!

Many thanks!

gavmacca
Protege
Okay so I have some results.

4.18.3 binary/launcher version does not work at all with Oculus online sessions.
4.19 preview DOES work but leads to another issue.
4.18.3 Oculus source build gives me crashes when Oculus is active and I try switching maps (new maps, reopening the same map, i've tried everything) in a packaged build, even just a regular open level call, I have cut out the unnessecary info on the log and attached the exact point where I call an open level and it crashes, there should be an attach link on this post. This only happens on the oculus source engine version of the engine and ONLY when the the oculus headset is active.

I have a really strange issue with 4.19 in the project that eventually leads to a crash. Our scene uses a render capture 2d and in 4.19 it prints this constantly in the log and eventually leads to a crash:
[2018.02.27-18.58.37:767][540]
LogRenderer: Reallocating scene render targets to support 256x256 Format 10 NumSamples 1 (Frame:542).
[2018.02.27-18.58.37:768][540]LogRenderer: Reallocating scene render targets to support 2720x1600 Format 10 NumSamples 1 (Frame:542).
[2018.02.27-18.58.37:768][540]LogHMD: Allocating Oculus 2720 x 1600 depth rendertarget swapchain

Any help would be greatly appreciated!


MrComfort
Protege
Any update on this? It seems like I can not find any session with this BP setup on 4.20...