user3189504 user3189504 - 1 year ago 468
C# Question

Unity 2d jumping script

Does anyone have a good jumping script for 2d games in unity? The code I have works but still is far from jumping, it looks like it is flying.

using UnityEngine;
using System.Collections;

public class movingplayer : MonoBehaviour {

public Vector2 speed = new Vector2(10,10);

private Vector2 movement = new Vector2(1,1);

// Use this for initialization
void Start () {


// Update is called once per frame
void Update () {
float inputX = Input.GetAxis ("Horizontal");
float inputY = Input.GetAxis ("Vertical");

movement = new Vector2(
speed.x * inputX,
speed.y * inputY);

if (Input.GetKeyDown ("space")){
transform.Translate(Vector3.up * 260 * Time.deltaTime, Space.World);

void FixedUpdate()
// 5 - Move the game object
rigidbody2D.velocity = movement;


Answer Source

Usually for jumping people use Rigidbody2D.AddForce with Forcemode.Impulse. It may seem like your object is pushed once in Y axis and it will fall down automatically due to gravity.


rigidbody2D.AddForce(new Vector2(0, 10), ForceMode2D.Impulse);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download