cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Oculus Avatars replication in ue4 multiplayer

OrionPS
Honored Guest
Hello Everyone,

I'm trying to make multiplayer in Unreal Engine 4.15 and to implement Oculus Avatars as an representation of players.
Problem I'm having is that the client doesn't see avatars at all and movement of all avatars is copied from avatar possessed by server (server sees all avatars).  
I have managed to get personalized avatars from oculus platform for server and client player characters but still movement is copied from server and clients can not see avatars at all.

Hierarchy looks like this:  
I have player character blueprint that manages player movement and all interactions.  
This Player Character has child actor added as component of localAvatar class which is copied from AvatarSample project shared by Oculus.

Here is how I have set replication for child actor component:
d0c6vmjq9k1d.png

I tried to set different replication methods for event that initializes avatars but I couldn't get the desired effect.  
When I changed replication method of initializePlayerAvatar to replicated on client, client was able to see it's own and server's avatars but server could see client avatar.  

This event looks like this and it's called by pressing U key:
r033mdfqmbqi.png

InitializeAvatar method:


    void ALocalAvatar::InitializeAvatar(FString OculusId)
    {
    IOnlineIdentityPtr IdentityInterface = Online::GetIdentityInterface("OculusSubsystemPlatform");
    if (IdentityInterface.IsValid())
    {
    OnLoginCompleteDelegateHandle = IdentityInterface->AddOnLoginCompleteDelegate_Handle(0, FOnLoginCompleteDelegate::CreateUObject(this, &ALocalAvatar::OnLoginComplete));
    IdentityInterface->AutoLogin(0);
    }
    uint64 OculusIdAsUInt64 = FCString::Strtoui64(*OculusId, NULL, 10);
    if (AvatarComponent)
    {
    AvatarComponent->RequestAvatar(OculusIdAsUInt64);
    }
    
    AvatarHands[ovrHand_Left] = nullptr;
    AvatarHands[ovrHand_Right] = nullptr;
    }

So my questions are:  
How to separate avatar movement from server so that movement is not copied between all avatars?  
How to properly replicate avatars so they could be seen both by server and clients?

Best regards,  
OrionPS
0 REPLIES 0
Still need help?

Did this answer your question? If it didn’t, use our search to find other topics or create your own and other members of the community will help out.

If you need an agent to help with your Meta device, please contact our store support team here.

Having trouble with a Facebook or Instagram account? The best place to go for help with those accounts is the Facebook Help Center or the Instagram Help Center. This community can't help with those accounts.

Check out some popular posts here:

Getting Help from the Meta Quest Community

Tips and Tricks: Charging your Meta Quest Headset

Tips and Tricks: Help with Pairing your Meta Quest

Trouble With Facebook/Instagram Accounts?