Create moving platform - just an actor with a cube rootcomponent. It is translated with a const velocity in Tick. (AddActorLocalOffset with Vector variable * DeltaTime each frame).
Place the moving platform in the level, and place the PlayerStart on it so the character is standing on it when the game starts.
Start the map and press the “Jump” button (without any direction input, so the jump (relative to base) is vertical only) - each time the character lands on the platform he is moved in the direction of the base’s velocity (relative to the base). The faster the base velocity the more the character is moved “forward”. After a while he simply falls off
I used the vector FVector(0,600,0), the offset after the landing is clearly visible with that.
If you are experiencing sliding when the character lands try increasing the “Breaking Friction Factor” in your your character movement component. Since you are landing on an object while technically moving through space you may slide if the friction is low enough.
If that isn’t the issue you are describing, please point that out.
I would not it sliding - it is just replaced in a single frame, looks glitchy.
Changing the “Breaking Friction Factor” can indeed reduce the effect - or if I increase it too much the character is actually teleported backwards relative the base’s movement speed.
However changing that value also has other effects on the movement, which is something I would like to avoid. I guess there is no other way right now, I’ll check if the effect is insignificant enough not to ruin already created movement based puzzles.
I think it would be still cool on the long run if someone responsible for the movement code would check this issue, because in this case independently from friction values the character should not be moved to any direction relative to the base at landing.
Maybe if I find the time to understand the movement code behaviour better I will try to override CalcVelocity() and ProcessLanded().
I only mentioned this because while running your test I wasn’t able to reproduce any jumpy or twitchy movement upon landing. Could you provide a short video showing the issue if possible?
I did notice twitchy movement while in the air though. However, upon landing the character slid smoothly to a stop. I just want to make sure we are experiencing the same thing so that I can create a bug report if needed.
Also note, if changing the Breaking Friction Factor does help for this specific situation you can just dynamically change it during run time when needed. For example if the character jumps while on this moving platform set friction to be higher and after landing (maybe with a slight delay) set the friction back to what you need.
This may be a legitimate bug so I would like to investigate further if possible.
Since this behavior can be corrected with settings in the character BP I’m not sure if this will be regarded as a bug by the developers. I went ahead and made the bug report regardless. I wouldn’t be surprised if this gets labeled as won’t fix though. Still we can try