There is a weird jitter on the character mesh when you use the crouch.
If you open the first-person template, attach a skeletal mesh to the Mesh component (and set up the crouch button), you can see that when a client that is connected to the listen-server crouches, the instance that the capsule size changes, the mesh jitters on the listen-server view.
it has nothing to do with my current setup, I just tried it with the default templates and it still happens without anything changed, you just need to attach a mesh to the inherited Mesh Component and you can see it jitter when you crouch.
Hey, can you show a picture of your current setup?
my current guess would be that the Capsule size is not getting replicated correctly.
sort of found a fix for this, by replacing the code at the end of the crouch and uncrouch in the movement component with
at the end of crouch with
const bool bIsListenServer = CharacterOwner->Role == ROLE_Authority && GetNetMode() == ENetMode::NM_ListenServer;
if (bClientSimulation && CharacterOwner->Role == ROLE_SimulatedProxy || bIsListenServer)
{
FNetworkPredictionData_Client_Character* ClientData = GetPredictionData_Client_Character();
if (ClientData && (ClientData->MeshTranslationOffset.Z != 0.f || bIsListenServer))
{
ClientData->MeshTranslationOffset -= FVector(0.f, 0.f, MeshAdjust);
ClientData->OriginalMeshTranslationOffset = ClientData->MeshTranslationOffset;
}
}
end of Uncrouch with
const bool bIsListenServer = CharacterOwner->Role == ROLE_Authority && GetNetMode() == ENetMode::NM_ListenServer;
if (bClientSimulation && CharacterOwner->Role == ROLE_SimulatedProxy || bIsListenServer)
{
FNetworkPredictionData_Client_Character* ClientData = GetPredictionData_Client_Character();
if (ClientData && (ClientData->MeshTranslationOffset.Z != 0.f || bIsListenServer))
{
ClientData->MeshTranslationOffset += FVector(0.f, 0.f, MeshAdjust);
ClientData->OriginalMeshTranslationOffset = ClientData->MeshTranslationOffset;
}
}
not really sure if this will cause any problems.