Help with glitch while adjusting position between animations?

Currently im creating a pakour feature where the character can grab a pole, swing on it and change sides on it.

This video is what i got with my script:

As you can see, there is a small glitch on his position at the moment he turns to the oposite side. Im trying to know if is it possible to avoid that glitch, else im gonna have to thing on another way to do it. The code that generates the turn is this one below:

-- disable body movers
AlignPosition.Enabled = false
AlignOrientation.Enabled = false
-- alignment:
AlignOrientation.CFrame = getOrientation()
AlignPosition.Position = getPosition()
-- brute change model's CFrame to avoid lerping from bodymovers
local PivotOffset = ledge.CFrame:PointToObjectSpace(Character:GetPivot().Position)
Character:PivotTo(CFrame.lookAlong(Character:GetPivot().Position + ledgeOpositeSide * PivotOffset.Z * 2, ledgeOpositeSide))
AlignPosition.Enabled = true
AlignOrientation.Enabled = true


There are 3 animations:

  • “Intro” anim is the first the character plays where he makes his first 180 degrees path below the pole.
  • “ChangeSides” anim is the one that happens when the character turns back, changing its side on the pole.
  • “IntroAfterTurn” anim is the one just like “intro”, except it starts at the same pose as “ChangeSides” ends.

The HumanoidRootPart is not invisble on video so we can see better how the model is positioned and how its position and orientation changes after “ChangeSides” track.

Sinse i dont have a solution for smothly setting that position while the anim stops and the other start, i may try a workaround with mirrored animations but i still wanna know what could have been done in this situation.