Abrir a Unity e começar a criar seu primeiro jogo é pura adrenalina. A primeira coisa que a gente quer ver é nosso personagem se movendo. Mas aí, você faz ele andar para os lados e… e agora? Como faz ele pular?
Se você já ficou horas procurando tutoriais no YouTube, se perdeu em códigos complexos e acabou com um pulo que parece um foguete, se liga. A gente sabe como é. O problema é que a maioria dos guias foca no “pulo perfeito” para um jogo final, e não no pulo simples, aquele que você precisa agora para o seu protótipo.
Neste post, vamos direto ao ponto. A gente vai te mostrar 3 formas de fazer seu personagem pular na Unity. E o melhor: cada uma tem uma filosofia diferente, pra você escolher a que melhor se encaixa no seu projeto (e na sua paciência).
Método 1: Pulo com Força (Para quem já usou a Física da Unity)
Esse é o método mais “correto” e, talvez, o mais comum para jogos de plataforma. A gente usa a física da Unity, o que significa que o pulo vai ter peso, inércia e vai interagir com o mundo de forma mais realista.
Para usar esse método, seu personagem precisa ter um componente Rigidbody 2D. É ele quem vai sofrer a influência da gravidade e da nossa força.
O código é bem simples: a gente verifica se uma tecla foi pressionada (tipo a barra de espaço) e, se sim, aplica uma força vertical ao Rigidbody.
using UnityEngine;
public class PuloComForca : MonoBehaviour
{
public float forcaDoPulo = 5f;
private Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
rb.velocity = new Vector2(rb.velocity.x, forcaDoPulo);
}
}
}
O que você ganha com isso? Um pulo que parece de verdade. A altura do pulo é controlada pela forcaDoPulo. Além disso, a física da Unity já lida com a gravidade, então seu personagem vai cair de volta naturalmente.
Método 2: Pulo com Velocidade (Para quem quer controle total)
Agora, se você quer ter um controle mais fino sobre o pulo e não quer se preocupar tanto com a física, esse método é para você. A gente não usa AddForce, a gente simplesmente muda a velocidade do Rigidbody.
A diferença aqui é que a gente “zera” a velocidade vertical e depois atribui a velocidade do pulo. Isso pode ser útil em jogos onde você não quer que a inércia do pulo anterior afete o próximo.
O código é quase o mesmo, mas a linha de pulo muda um pouco:
using UnityEngine;
public class PuloComVelocidade : MonoBehaviour
{
public float velocidadePulo = 5f;
private Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
rb.velocity = new Vector2(rb.velocity.x, velocidadePulo);
}
}
}
O que você ganha com isso? Um pulo mais “limpo”, sem a necessidade de uma força constante sendo aplicada. É um jeito rápido e sujo (no bom sentido) de fazer um pulo que responde na hora.
Método 3: Pulo “Gambiarra” (Para o Protótipo mais rápido da sua vida)
Peraí, e se você não quer usar Rigidbody? E se você só quer que seu personagem suba e desça e nada mais?
Esse é o pulo de guerrilha. A gente não usa física nenhuma. A gente simplesmente move o transform do objeto. O problema? Ele não tem gravidade. A gente vai ter que simular a gravidade “na mão”.
Esse método é a prova de que feito é melhor que perfeito. Ele serve para testar uma ideia de jogo em 5 minutos, e não para um produto final.
using UnityEngine;
public class PuloGambiarra : MonoBehaviour
{
public float alturaDoPulo = 2f;
public float gravidade = 9.8f;
private bool estaPulando = false;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space) && !estaPulando)
{
estaPulando = true;
}
if (estaPulando)
{
// Pula
transform.position += Vector3.up * alturaDoPulo * Time.deltaTime;
// "Cai" de volta
if (transform.position.y >= 2) // Altura máxima
{
estaPulando = false;
}
}
else
{
// Simula a gravidade
transform.position += Vector3.down * gravidade * Time.deltaTime;
}
}
}
O que você ganha com isso? Um protótipo que roda em 2 minutos. Mas cuidado, ele não interage com outras plataformas e a queda é “quadrada”. Mas se você só quer testar um conceito de jogo, ele pode ser a resposta que você precisa.
Conclusão
Criar um jogo não é sobre encontrar a “única forma certa” de fazer algo. É sobre usar a ferramenta certa para o trabalho certo.
Se você está começando, use o Método 1. Ele te ensina o jeito mais padrão e te prepara para desafios futuros. Mas, se o seu único objetivo é ver um bonequinho se movendo para testar uma ideia, o Método 3 é o seu atalho.
Agora que seu personagem já pula, o que vem depois? Que tal a gente aprender a fazer ele andar em um próximo post?




![Código C# na Unity usando [SerializeField] para expor variáveis privadas no Inspector.](https://perai.dev/wp-content/uploads/2025/11/unity-serializefield-vs-public-inspector-tutorial-1.png)
