Our existing network based app is using standard RPM avatars in Unity on WebGL. We had also added support for head and hands VR avatars in our app and are looking at replacing that with the new RPM XR avatars. We are looking for some guidance on the correct stragey for when to use the correct avatar type.
For the local player can we just use the new XR Avatar type for both use cases or do we need to support each type depending on what mode the app is in?
When spawning a remote copy of the player, do we also need to use the correct avatar type or an can just use the standard RPM avatar or XR RPM avatar for both use cases?
You can use the same application for both of the devices.
Avatar references will work, but the user needs to be logged into RPM account for this to work (or you need to set up your own account management with guest accounts to store the userIds, etc…)
after further experimentation I have some additional questions. Would you please calrify the relationship to the rpm domain, applicationid and the body type selected in that domain to the settings panel in the Unity project?
Are you limited to only one body type per domain?
I have an multiplayer application were a person maybe joining using webgl or webXR. I am not clear on how I need to handle the application settings to make sure they can generate an avatar of the correct body type when joined in one mode (lets say WebGL first) and then possibly, wanting to use the same avatar when joining using WebXR?
@Markus_RPM So what is the recommend way to support multiple body types in one networked application? Use two domains and switch between them based on what client the player joins with?
I checked with our developers and there should be no need for you to use different Avatar Body types. The SDK doesn’t really work with multiple subdomains, or multiple body types for that matter.
If you are using Avatar Creator to get/load avatars there is no need to support both types. The only reason we can see for needing to support both is if you allow users to enter in/paste their own avatar .glb url.
If you are allowing avatar loading from .glb import there is no need to support multiple domains anyway as they can be loaded in the SDK regardless. You can use the Avatar Metadata to decide which character setup to load (EG XR vs Non-XR character).
I would like to explain our use case and perhaps you can recommend the best way to hand the avatar type.
We have a Unity WebGL app (networked using Photon) that currently supports full body avatars using the AvatarCreator example code. Works great. It is also possible to use the WebGL app as a WebXR app and join with a VR headset.
Currently for the VR mode, we use the head and hands model that comes with the Unity WebXR integration examples.
We wish to use the RPM model with the XR body type when the app is joined using WebXR and the regular full body type when joined when using the default WebGL mode.
To use the Avatar Creator code it is my undertanding that we need to configure the domain name and appid. That points back to a specifc body type. How do we properly support both body types in one application?