Can't move while jumping

I’ve gone over the lecture a few times, compared my code to what’s in the repo, all looks okay. But my character can only jump straight up and down. I can’t jump forward or to the sides like in the video. Any ideas what’s wrong?
Code samples below.

InputReader:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;

public class InputReader : MonoBehaviour, Controls.IPlayerActions
{
    public Vector2 MovementValue { get; private set; }
    public bool IsAttacking { get; private set; }
    public bool IsBlocking { get; private set; }

    public event Action JumpEvent;
    public event Action DodgeEvent;
    public event Action TargetEvent;
    public event Action CancelEvent;

    private Controls controls;

    void Start()
    {
        controls = new Controls();
        controls.Player.SetCallbacks(this);

        controls.Player.Enable();

    }

    private void OnDestroy()
    {
        controls.Player.Disable();
    }

    public void OnJump(InputAction.CallbackContext context)
    {
        if(!context.performed) { return; }

        JumpEvent?.Invoke();
    }

    public void OnDodge(InputAction.CallbackContext context)
    {
        if(!context.performed) { return; }
        
        DodgeEvent.Invoke();
    }

    public void OnMove(InputAction.CallbackContext context)
    {
        MovementValue = context.ReadValue<Vector2>();
    }

    public void OnLook(InputAction.CallbackContext context)
    {
        
    }

    public void OnTarget(InputAction.CallbackContext context)
    {
        if (!context.performed) { return; }

        TargetEvent?.Invoke();
    }

    public void OnCancel(InputAction.CallbackContext context)
    {
        if (!context.performed) { return; }

        CancelEvent?.Invoke();
    }

    public void OnAttack(InputAction.CallbackContext context)
    {
        if(context.performed)
        {
            IsAttacking = true;
        }
        else
        if(context.canceled)
        {
            IsAttacking = false;
        }
    }

    public void OnBlock(InputAction.CallbackContext context)
    {
        if (context.performed)
        {
            IsBlocking = true;
        }
        else
        if (context.canceled)
        {
            IsBlocking = false;
        }
    }
}

PlayerFreeLookState:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerFreeLookState : PlayerBaseState
{
    private readonly int FreeLookBlendTreeHash = Animator.StringToHash("FreeLookBlendTree");
    private readonly int FreeLookSpeedHash = Animator.StringToHash("FreeLookSpeed");
    private const float AnimatorDampTime = 0.1f;
    private const float CrossFadeDuration = 0.1f;
    public PlayerFreeLookState(PlayerStateMachine stateMachine) : base(stateMachine) { }
       
    public override void Enter()
    {
        stateMachine.InputReader.TargetEvent += OnTarget;
        stateMachine.InputReader.JumpEvent += OnJump;
        stateMachine.Animator.CrossFadeInFixedTime(FreeLookBlendTreeHash, CrossFadeDuration);
    }
    public override void Tick(float deltaTime)
    {
        if (stateMachine.InputReader.IsAttacking)
        {
            stateMachine.SwitchState(new PlayerAttackingState(stateMachine, 0));
            return;
        }        

        Vector3 movement = CalculateMovement();

        Move(movement * stateMachine.FreeLookMovementSpeed, deltaTime);

        if (stateMachine.InputReader.MovementValue == Vector2.zero)
        {
            stateMachine.Animator.SetFloat(FreeLookSpeedHash, 0, AnimatorDampTime, deltaTime);
            return;
        }

        stateMachine.Animator.SetFloat(FreeLookSpeedHash, 1, AnimatorDampTime, deltaTime);

        FaceMovementDirection(movement, deltaTime);
    }

    public override void Exit()
    {
        stateMachine.InputReader.TargetEvent -= OnTarget;
        stateMachine.InputReader.JumpEvent -= OnJump;
    }

    private void OnTarget()
    {
        if (!stateMachine.Targeter.SelectTarget()) { return; }

        stateMachine.SwitchState(new PlayerTargetingState(stateMachine));
    }
    private void OnJump()
    {
        stateMachine.SwitchState(new PlayerJumpingState(stateMachine));
    }

    private Vector3 CalculateMovement()
    {
        Vector3 forward = stateMachine.MainCameraTransform.forward;
        Vector3 right = stateMachine.MainCameraTransform.right;

        forward.y = 0f;
        right.y = 0f;

        forward.Normalize();
        right.Normalize();

        return forward * stateMachine.InputReader.MovementValue.y + right * stateMachine.InputReader.MovementValue.x;
    }

    private void FaceMovementDirection(Vector3 movement, float deltaTime)
    {
        stateMachine.transform.rotation = Quaternion.Lerp(stateMachine.transform.rotation, Quaternion.LookRotation(movement), deltaTime * stateMachine.RotationDamping);
    }
   

}

ForceReceiver:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class ForceReceiver : MonoBehaviour
{
    [SerializeField] private CharacterController controller;
    [SerializeField] private NavMeshAgent agent;
    [SerializeField] private float drag = 0.3f;

    private Vector3 dampingVelocity;
    private Vector3 impact;
    private float verticalVelocity;

    public Vector3 Movement => impact + Vector3.up * verticalVelocity;

    private void Update()
    {
        if (verticalVelocity < 0f && controller.isGrounded)
        {
            verticalVelocity = Physics.gravity.y * Time.deltaTime;
        }
        else
        {
            verticalVelocity += Physics.gravity.y * Time.deltaTime;
        }

        impact = Vector3.SmoothDamp(impact, Vector3.zero, ref dampingVelocity, drag);

        if (agent != null)
        {
            if (impact.sqrMagnitude < 0.2f * 0.2f)
            {
                impact = Vector3.zero;
                agent.enabled = true;
            }
        }
    }

    public void AddForce(Vector3 force)
    {
        impact += force;
        if (agent != null)
        {
            agent.enabled = false;
        }
    }

    public void Jump(float jumpForce)
    {
        verticalVelocity += jumpForce;
    }
}

PlayerJumpingState:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerJumpingState : PlayerBaseState
{
    private readonly int JumpHash = Animator.StringToHash("Jump");

    private Vector3 momentum;

    private const float CrossFadeDuration = 0.1f;

    public PlayerJumpingState(PlayerStateMachine stateMachine) : base(stateMachine)
    {
    }

    public override void Enter()
    {
        stateMachine.ForceReceiver.Jump(stateMachine.JumpForce);

        momentum = stateMachine.Controller.velocity;
        momentum.y = 0f;

        stateMachine.Animator.CrossFadeInFixedTime(JumpHash, CrossFadeDuration);
    }


    public override void Tick(float deltaTime)
    {
        Move(momentum, deltaTime);

        if (stateMachine.Controller.velocity.y <= 0)
        {
            stateMachine.SwitchState(new PlayerFallingState(stateMachine));
            return;
        }

        FaceTarget();
    }


    public override void Exit()
    {
        
    }
}

PlayerFallingState:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerFallingState : PlayerBaseState
{
    private readonly int FallHash = Animator.StringToHash("Fall");

    private Vector3 momentum;

    private const float CrossFadeDuration = 0.1f;

    public PlayerFallingState(PlayerStateMachine stateMachine) : base(stateMachine)
    {
    }

    public override void Enter()
    {
        momentum = stateMachine.Controller.velocity;
        momentum.y = 0f;

        stateMachine.Animator.CrossFadeInFixedTime(FallHash, CrossFadeDuration);
    }


    public override void Tick(float deltaTime)
    {
        Move(momentum, deltaTime);

        if (stateMachine.Controller.isGrounded)
        {
            ReturnToLocomotion();
        }

        FaceTarget();
    }


    public override void Exit()
    {
        
    }
}

Are you still holding the movement keys when pressing the jump?

Yes. I’ve set StateMachine to log when switching states and PlayerBaseState to log motion and (motion + stateMachine.ForceReceiver.Movement).
SwitchState:

public void SwitchState(State newState)
    {
        currentState?.Exit();
        currentState = newState;
        currentState?.Enter();
        Debug.Log("<color=green>Switching to " + currentState?.ToString() + "</color>");
    }

PlayerBaseState:

protected void Move(Vector3 motion, float deltaTime)
    {
        Debug.Log("<color=yellow>Motion " +  motion.ToString() + "</color>");
        stateMachine.Controller.Move((motion + stateMachine.ForceReceiver.Movement) * deltaTime);
        Debug.Log("<color=yellow>Motion plus ForceReceiver.Movement " + (motion + stateMachine.ForceReceiver.Movement).ToString() + "</color>");
    }

And here’s the output:

<color=yellow>Motion (2.65, 0.00, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (2.65, -0.20, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (2.66, 0.00, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (2.66, -0.18, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (2.66, 0.00, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (2.66, -0.19, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (2.66, 0.00, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (2.66, -0.23, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (2.66, 0.00, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (2.66, -0.19, -5.38)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=green>Switching to PlayerJumpingState</color>
UnityEngine.Debug:Log (object)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:20)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:56)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 3.56, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 3.34, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 3.16, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 2.97, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 2.79, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 2.60, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 2.42, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 2.23, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 1.73, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 1.52, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 1.34, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 1.15, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 0.95, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 0.76, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 0.57, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 0.38, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, 0.19, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -0.13, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=green>Switching to PlayerFallingState</color>
UnityEngine.Debug:Log (object)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:20)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:34)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -0.39, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -0.65, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -0.85, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -1.05, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -1.25, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -1.46, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -1.67, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -1.88, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -2.17, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -2.38, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -2.58, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -2.78, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -3.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -3.21, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -3.41, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (0.03, 0.00, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion plus ForceReceiver.Movement (0.03, -3.60, 0.01)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:24)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=green>Switching to PlayerFreeLookState</color>
UnityEngine.Debug:Log (object)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:20)
PlayerBaseState:ReturnToLocomotion () (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:47)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:32)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

<color=yellow>Motion (2.58, 0.00, -5.42)</color>
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:22)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

You can see the character is moving before entering the jump state, but motion.x and motion.z go near zero when switching. It starts moving again immediately after returning to freelook. Is this normal behaviour?

(Only showing the logs from one jump because of the forum’s character limit, but the same happens when trying to jump in any direction)

Two more debugs for this (see above)… So far, what I’m seeing is identical to the course code, so I’m not sure quite yet what’s going on… Remove the previous debugs for clutter. We’re looking now to see what the Velocity is leaving PlayerFreelookState and moving into PlayerJumpingState

Hmm…

PlayerFreelookState.Jump() => momentum = (0.00, -0.75, 0.05)
UnityEngine.Debug:Log (object)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:56)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerJumpingState.Enter() => momentum = (0.00, 0.00, 0.05)
UnityEngine.Debug:Log (object)
PlayerJumpingState:Enter () (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:23)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:19)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:57)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerFreelookState.Jump() => momentum = (0.00, 0.00, 0.01)
UnityEngine.Debug:Log (object)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:56)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerJumpingState.Enter() => momentum = (0.00, 0.00, 0.01)
UnityEngine.Debug:Log (object)
PlayerJumpingState:Enter () (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:23)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:19)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:57)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerFreelookState.Jump() => momentum = (0.01, 0.04, -0.19)
UnityEngine.Debug:Log (object)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:56)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerJumpingState.Enter() => momentum = (0.01, 0.00, -0.19)
UnityEngine.Debug:Log (object)
PlayerJumpingState:Enter () (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:23)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:19)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:57)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerFreelookState.Jump() => momentum = (0.09, 0.01, -0.01)
UnityEngine.Debug:Log (object)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:56)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerJumpingState.Enter() => momentum = (0.09, 0.00, -0.01)
UnityEngine.Debug:Log (object)
PlayerJumpingState:Enter () (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:23)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:19)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:57)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerFreelookState.Jump() => momentum = (-0.13, -0.07, 0.01)
UnityEngine.Debug:Log (object)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:56)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerJumpingState.Enter() => momentum = (-0.13, 0.00, 0.01)
UnityEngine.Debug:Log (object)
PlayerJumpingState:Enter () (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:23)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:19)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:57)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerFreelookState.Jump() => momentum = (0.03, -0.34, 0.00)
UnityEngine.Debug:Log (object)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:56)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerJumpingState.Enter() => momentum = (0.03, 0.00, 0.00)
UnityEngine.Debug:Log (object)
PlayerJumpingState:Enter () (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:23)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:19)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:57)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)


Those momentum speeds look more like the sliced speeds (the speed you get after including deltaTime – and of course, we’re applying deltaTime again…)… What’s weird is that’s NOT the debugs I’m getting…

One more debug,

Still leaving out the Motion debug from my first post:

Velocity = (5.94, -0.26, 0.82)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (5.94, -0.26, 0.82)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (5.94, -0.13, 0.82)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

PlayerFreelookState.Jump() => momentum = (-0.02, 0.00, 0.14)
UnityEngine.Debug:Log (object)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:56)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

PlayerJumpingState.Enter() => momentum = (-0.02, 0.00, 0.14)
UnityEngine.Debug:Log (object)
PlayerJumpingState:Enter () (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:23)
StateMachine:SwitchState (State) (at Assets/Scripts/StateMachines/StateMachine.cs:19)
PlayerFreeLookState:OnJump () (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:57)
InputReader:OnJump (UnityEngine.InputSystem.InputAction/CallbackContext) (at Assets/Scripts/InputReader.cs:38)
UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)

Velocity = (-0.02, 1.06, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.89, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.78, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.70, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.58, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.50, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.42, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.34, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.24, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, 0.13, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -0.36, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerJumpingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerJumpingState.cs:30)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -0.45, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -0.54, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -0.64, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -0.72, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -0.81, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -0.89, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -1.00, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (-0.02, -0.08, 0.14)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFallingState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFallingState.cs:28)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (5.94, 0.19, 0.85)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)

Velocity = (5.94, 0.19, 0.84)
UnityEngine.Debug:Log (object)
PlayerBaseState:Move (UnityEngine.Vector3,single) (at Assets/Scripts/StateMachines/Player/PlayerBaseState.cs:23)
PlayerFreeLookState:Tick (single) (at Assets/Scripts/StateMachines/Player/PlayerFreeLookState.cs:29)
StateMachine:Update () (at Assets/Scripts/StateMachines/StateMachine.cs:12)


Not sure if this is a hint but I’m also noticing it’s possible to get frozen in a jump sometimes if I only tap the space bar. It lasts about 6 seconds before switching to falling, and the velocity log outputs the same during those 6sec.

This isn’t making any sense… if you’re still holding the movement keys when you jump, then the momentum should be the same as the Velocity in the previous debug… In this case, it isn’t even the same DIRECTION as the previous Velocity, let alone the same magnitude…

Zip up your project (remove the Library folder from the zip) and upload it to https://gdev.tv.projectupload and I’ll see if I can figure out why this is happening.

Uploaded, thanks

Figured it out! I had Apply Root Motion checked on the character’s Animator. Unchecking it fixed the issue and the debug logs are reporting the expected values.

For anyone else getting this issue: nothing wrong with the code. The jump animation keeps the X and Z near 0 since the character only moves up and down, and the Apply Root Motion setting tells the character to stick to those values when it switches to that animation. (Rewatch the ‘Movement Blend Tree’ lecture @ 1:40 and see where the character runs ahead of the collider - the issue here is kind of the opposite of this).

I’m sure my explanation could be phrased better.

Thanks again for looking at it Brian.

Ok, that makes total sense. I’m adding that to my solutions issues.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

Privacy & Terms