character jumping on moving ship like sea of thieves

Hello,

I have some difficulty with a character jumping on a moving ship.
What i understood after some test is when the character is on another movable or physics ship actor in my case the character movement component receives the velocity
from the moving actor via imparted movement base velocity.
So what i understood is that the character has the same velocity as the ship and when the character moves on the ship he adds is velocity to the ship velocity.So the character is moving normally with no problem.
where it complicates is when the character is jumping.
On take off no problem but when the character lands he is pushed forward i have tried to
add and substract the ship velocity on landing but nothing works.
Does anyone have an idea how to solve this.
Thanks

This is an unfixed issue https://issues.unrealengine.com/issue/UE-64347

I found a sort of fix if you overwrite the CharacterMovementComponent::OnMovementModeChanged()
But it introduces a small movement (a few centimeters), I don’t know why. I will continue to investigate - until then here is what I have

this part is changed, the rest is unchanged:

...
// React to changes in the movement mode.
if (MovementMode == MOVE_Walking)
{
	bCrouchMaintainsBaseLocation = true;
	// make sure we update our new floor/base on initial entry of the walking physics
	FindFloor(UpdatedComponent->GetComponentLocation(), CurrentFloor, false);


	AdjustFloorHeight();
	SetBaseFromFloor(CurrentFloor);
	//Temporary fix until something better
	FVector BaseVelocity = GetImpartedMovementBaseVelocity();
	Velocity -= BaseVelocity;

	// Walking uses only XY velocity, and must be on a walkable floor, with a Base.
	Velocity.Z = 0.f;
	SetGroundMovementMode(MovementMode);

}
...