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
143 stars 68 forks source link

Prevent reloading on launch? #68

Closed dav01d closed 5 days ago

dav01d commented 1 year ago

OnLaunchIntentChanged runs at App's Launch, but this creates a hiccup when the player first loads the game. Ideally, we load a non- multiplayer room, and then when we invite people into our lobby is when any sort of Network Launching, or at least Unreal Level opening happens only when Invites are accepted and players travel together.

Just trying to eliminate that initial hiccup upon loading, so that the Lobby serves as a starting point for players.

KavanBahrami commented 1 year ago

I second this as the preferred default behavior.

dav01d commented 1 year ago

The easiest fix is just ensuring OnLaunchIntentChanged does not fire a Network Launch when you first open the game. Instead, wait for a player invite to come in to do NetworkLaunch. But that's handled by OnGroupLaunchIntent. So I'm not sure what OnLaunchIntentChanged's purpose is other than annoy you each time you start the game :P

jasonmeisel commented 1 year ago

Thank you for the suggestion. Feel free to create a pull request for us to review.

dav01d commented 1 year ago

Unfortunately that above fix ultimately didn't completely solve the issue. We've written our own version of the GameInstance at this point. But any proper way to do it would be great for others starting out with this Sample!

alefriant commented 3 months ago

Hey @dav01d I think the purpose of the sharedspaces is to launch the game at a lobby for multiplayer because the multiplayer goal of the metaverse, and the black screen for loading is great to add some text or delay and loading screen behaviors. I like it a lot the way the guys handle this honestly. @jasonmeisel On the other hand in one of the projects where I work we modified the entire thing and we start in a custom void with a menu, single player, where you can select if you want to launch the game pointing some buttons if single player, as host or join a room, that's completely possible and functional, and we removed the black zone too, so I think that you perfectly can remove you "hiccup".

Good luck!

jasonmeisel commented 5 days ago

There is no reloading on launch in the EOS branch of this project.

dav01d commented 5 days ago

@jasonmeisel , awesome update! Lost track of this after we shipped. Welcome surprise to see EOS!