private void ManagePlayerVelocity()
    {
        CalculatePlayerVelocity(playerInput);

        HandlePlayerWallSliding();
        HandlePlayerDash();

        HandleSpriteFaceDirection(playerCollision.collisionData.faceDirection);

        MoveController(playerVelocity * Time.deltaTime, false);

        playerAnimation.SetBool("isGrounded", playerCollision.collisionData.isCollidingBelow);

        if (playerCollision.collisionData.isCollidingAbove || playerCollision.collisionData.isCollidingBelow)
        {
            if (playerCollision.collisionData.isSlidingDownSlope)
            {
                playerVelocity.y += playerCollision.collisionData.slopeNormal.y * -playerGravity * Time.deltaTime;
            }
            else
            {
                playerVelocity.y = 0f;
            }
        }
    }