Remote AR Multiplayer Experience (Not Shared AR)

  • Issue category: Networking
  • Device type & OS version: Android / iOS
  • Host machine & OS version: Mac / Windows
  • Issue Environment : On Device
  • ARDK version: 2.0.0
  • Unity version: 2020.3.29f1

Description of the issue:
I want to build a Remote multiplayer AR experience where people from different geo locations can join the same server and experience the same environment and their respective players in it.

Is there a possibility with this SDk, I have seen from documentation that it highly depends on localization of devices and if all of them are in the same room or place. PLease help me in this concern if you know anything already.

Hi Sirajuddin,

Lightship ARDK’s Shared AR gives you information about creating Multiple AR Networking. All the users need to synchronize using mapping data from the environment generated by ARDK, which can be achieved by AR localization. ARDK provides a networked AR session and APIs for communicating between users.

In order to help you further, we would like to know what AR Multiplayer experience you want to share with the users. What information is going to be shared between peer to peers? Can you please elaborate on your use case?

Thanks.

Hi @Umaiya_Doddamani1,

I am interested in this discussion too. I am looking for some support in this same direction.

I am looking for creating a remote multiplayer game that allows 2 players from different locations to interact with each other.

Example Scenario: Two players get two virtual chess boards. When one person is making a move, it communicates to the other player and vice-versa. This could be not just a chess board, but also any sort of 3D model and/or interaction.

Can you let me know a workaround to achieve this or similar result… my main goal is to instantiate a shared game session between two remote players and allow them to interact with each other.

Thanks in advance. :slight_smile:

Hello Yasassri,

I have a few questions and suggestions for you.
In order to assist you, we need to verify that, what have you tried and where are you getting stuck.

I would also recommend you refer to Creating a Multiplayer AR Game section in Shared AR documentation.

Hi @Umaiya_Doddamani1 ,

Thanks for your reply. I want to initiate a multiplayer game session.
As I read so far, Lightship needs both players to be at the same location to localize the game successfully.

But according to my need, players might be from different geographical locations. I’ll explain my requirement below.

  • There are two players, one player from LA and the other player from Sydney.

  • Player 1 has a desk in front of him, scans the environment, and generates a mesh with Lightship.

  • I need player 2 to see player 1’s scanned mesh as a 3d model or some sort of way. (maybe just like Lightship displays pre-scanned 3D mock meshes in the Unity Editor)

  • Then, player 2 can spawn a 3D cube on that shared mesh in AR, and the same cube will appear from player 1’s side. (now, he will see an AR cube on top of his “real” desk.

This is the simple use case that I am struggling to implement. I am grateful if you can provide some workarounds, and resources to implement this.

Hi @Umaiya_Doddamani1 / @yasassri ,

I was able to find a work around for this solution.

  1. First of all we need to bypass localization concept, For this i started of with the LOW NETWORKING DEMO that niantic lightship has provided in their examples package.
  2. In that demo we do have concept of localization. To bypass localization, I tried a way to spawn a network player as soon as connection is established as shown below.(This is lowLevelNetworkingExampleManager.cs)

  1. Once you have players spawned in the network, Its all about syncing their positions and animations in the network.(This is in ARPlayerController.cs file)

Its good that Networking concept for players and other objects works basically for both Shared AR or Remote AR as per the documentation.
But, This Remote AR documentation should have been clearly mentioned as a separate concept. Hope they consider this and add it in later versions of doc.

2 Likes

Hi @Sirajuddin_Rayyan_Ma ,

You are awesome! Thanks so much for sharing this. I’ll try out this approach.
:heart_eyes:

Glad that it helped you. I could not share the project due to NDA i have with my client. And also could not share more screenshots as we have restriction in Niantic Forms.

1 Like

No problem @Sirajuddin_Rayyan_Ma . You already gave me a direction to look into. That’s a lot!
:crossed_fingers:

Hello Sirajuddin,

Thank you for providing a potential workaround. We really do appreciate your feedback, and we’ll forward this to our internal teams for review.