O Segredo da Velocidade Constante: Entendendo o Time.deltaTime
Você programou seu personagem para andar 0.1 metros a cada frame no Update().
void Update() {
transform.Translate(0.1f, 0, 0); // Move 0.1 no eixo X
}
Parece inofensivo, certo? Errado.
O Update() roda uma vez por quadro (frame).
- No seu PC Gamer (100 FPS): O código roda 100 vezes por segundo. O personagem anda
100 * 0.1 = 10 metrosem um segundo. - No PC do seu amigo (30 FPS): O código roda 30 vezes por segundo. O personagem anda
30 * 0.1 = 3 metrosem um segundo.
Percebeu o desastre? Quem tem PC melhor joga mais rápido. Isso quebra completamente o jogo.
Você precisa que o movimento seja baseado em TEMPO, não em QUADROS. Você quer “metros por segundo”, e não “metros por frame”.
1. O Salvador: Time.deltaTime
O Time.deltaTime é uma variável que a Unity te dá de graça. Ela contém o tempo (em segundos) que passou desde o último frame até agora.
- Se o jogo está rápido (muitos frames), o tempo entre eles é minúsculo (ex: 0.01s).
- Se o jogo está lento (poucos frames), o tempo entre eles é maior (ex: 0.1s).
Ele é o equalizador. Ele “sente” a velocidade do computador e ajusta o número para compensar.
2. A Fórmula Mágica
Para corrigir seu movimento, você só precisa fazer uma multiplicação simples:
Errado (Depende de Frame):
transform.Translate(Vector3.forward * velocidade);
Certo (Depende do Tempo):
transform.Translate(Vector3.forward * velocidade * Time.deltaTime);
Quando você multiplica por Time.deltaTime, você está dizendo pra Unity: “Não importa se esse PC roda a 10 ou 1000 FPS, eu quero mover X metros A CADA SEGUNDO“.
3. E se eu não usar?
Se você não usar, seu jogo será injogável em qualquer máquina diferente da sua.
- Física (Rigidbody) a Unity já resolve sozinha.
- Mas TUDO que você move por código dentro do
Update(personagens, cronômetros, rotações, cooldowns) precisa ser multiplicado peloTime.deltaTime.
Resumo da Ópera
Faça disso um reflexo muscular. Escreveu uma linha de movimento no Update? Multiplica por Time.deltaTime.
É a diferença entre um protótipo amador e um software profissional que roda liso no PC da Xuxa e no PC da NASA.
Conclusão da Série
Parabéns, Dev! Você passou pelos 5 portões do inferno dos iniciantes:
- Física (Colliders)
- Ciclo de Vida (Start/Update)
- Organização (Prefabs)
- Produtividade (SerializeField)
- Consistência (Time.deltaTime)
Se você dominar esses 5 conceitos, você já sabe mais que 80% da galera que só copia tutorial sem entender.
Agora é com você. Abra a Unity, pegue aquele projeto empoeirado e aplique essas correções. O melhor jogo é o jogo terminado.
Mãos à obra e até a próxima!



![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)

