Learn Double Jump in Unity

Physics Based Character Controller part 4

Double Jump Script

private bool _doubleJumped;
void Update()
{
Vector3 direction = new Vector3(Input.GetAxis(“Horizontal”), 0);
Vector3 velocity = direction * _speed;
if (_controller.isGrounded == true)
{
_doubleJumped = false;
if (Input.GetKeyDown(KeyCode.Space))
{
_yVelocity = _jumpHeight;
}
}
else
{
//check for double jump
if (Input.GetKeyDown(KeyCode.Space) && _doubleJumped == false)
{
_yVelocity += _jumpHeight;
_doubleJumped = true;
}

_yVelocity -= _gravity;
}
velocity.y = _yVelocity;
_controller.Move(velocity * Time.deltaTime);
}

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Tristan Engel

Aspiring developer that’s self-learning Unity & C# to transition to a career with Unity. I got a passion for creating interactive experiences.