Ok so I think I figured out the way this needs to work based on feedback from C++ AttachToComponent() doesn't weld on simulated proxies? - World Creation - Unreal Engine Forums
- You first need to disable the collision on the character mounting your bear
- You then need to de-activate player movement as gravity will still impact your player position
Please note that my Horse Character has a collision profile of Vehicle hence the collision ignore statement
Snippet #1
if(CurrentState == EPlayerState::MOUNTED)
{
// this is needed as gravity will affect the player character
GetMovementComponent()->Deactivate();
GetCapsuleComponent()->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Ignore);
GetMesh()->SetCollisionResponseToChannel(ECC_Vehicle, ECR_Ignore);
}
Snippet #2
const FAttachmentTransformRules AttachmentRules(EAttachmentRule::SnapToTarget, EAttachmentRule::SnapToTarget, EAttachmentRule::KeepWorld, true);
PlayerCharacter->AttachToComponent(HorseCharacter->GetMesh(), AttachmentRules, "RiderLinkSocket");