C# para desenvolvimento de jogos
Linguagem madura, tipada, usada na Unity e disponivel tambem no Godot. Traz ferramental forte de depuracao e um mercado de trabalho maior que o de GDScript. A escolha entre ela e a linguagem nativa da engine e uma das duvidas mais comuns de quem esta comecando.
129 artigos publicados sobre C#.
Escolha e migracao de engine
Curso e formacao
- Curso de C# para Jogos Vale a Pena?Curso de C# para jogos vale a pena? Veja quando faz sentido, para quem serve e quais os limites, sem hype, antes de gastar tempo e dinheiro.
- Curso de Desenvolvimento de Jogos com Unity Vale a Pena?Curso de Unity vale a pena? A resposta honesta, sem enrolação: quando focar na engine e por que o fundamento que serve em qualquer engine pesa mais.
- Curso de Programação de Jogos Vale a Pena?Um curso de programação de jogos vale a pena quando ensina a lógica que sobrevive a qualquer engine, e não só a sintaxe solta. Veja a diferença na prática.
- Prowl: a Engine C# Open Source que Imita a Unity (Vale a Pena?)Prowl e uma engine C# open source com editor estilo Unity, rumo ao 1.0. Veja o que muda para quem programa em C# e como decidir se vale investir tempo.
Monetizacao
Carreira e mercado
Novidades e releases
Fazer um jogo do genero X
- Como Fazer um Endless Runner na Unity (3D)Endless runner na Unity em 3D: três faixas com swipe e teclado, chão infinito reciclado com pool, obstáculos aleatórios, velocidade crescente e pontuação.
- Como Fazer Flappy Bird na Unity (C# Completo)Como fazer Flappy Bird na Unity em C#: pulo com linearVelocity, canos reaproveitados, pontuação, recorde, game over e build Web para publicar no itch.io.
- Jogo 2.5D na Unity: Como Fazer com Sprites 2D em Mundo 3DComo fazer um jogo 2.5D na Unity: sprites 2D no cenário 3D com billboard, sombra no URP, câmera em perspectiva e a escolha entre física 3D ou 2D.
- Jogo da Cobrinha (Snake) na Unity Passo a PassoJogo da cobrinha na Unity em C#: grade com tick fixo, corpo em List de Vector2Int, buffer de direção, comida em célula livre e colisão sem física.
- Jogo de Carro na Unity: Wheel Collider e CâmeraUnity car controller com WheelCollider: centro de massa, motor, freio e direção por roda, rodas visuais com GetWorldPose, drift básico e câmera Cinemachine.
- Como Fazer um Jogo de Luta na Unity: Hitbox e HurtboxComo fazer um jogo de luta na Unity: hitbox e hurtbox separadas, golpe por Animation Event, OverlapBox com layers, hitstun, knockback e 2 jogadores locais.
- Como Fazer um Jogo de Nave na Unity (Shoot 'em Up)Jogo de nave na Unity do zero: nave presa na tela, tiro com ObjectPool, inimigos em padrões de curva, ondas e chefe com duas fases, em C# do Unity 6.3.
- Como Fazer um Jogo de Plataforma na Unity 2DComo fazer um jogo de plataforma na Unity 2D: Tilemap, controller com coyote time e jump buffer, Cinemachine 3, inimigo, coletável e fim de fase, em C#.
- Como Criar um Jogo de Terror na Unity: o BásicoComo criar um jogo de terror na Unity: lanterna com bateria, escuro legível no URP, som 3D, porta que range e susto por trigger, com código C# do Unity 6.3.
- Jogo Idle Clicker na Unity: Números Grandes e Progresso OfflineUnity idle clicker com as partes difíceis: números grandes em K/M/B, custo de upgrade exponencial, renda passiva e progresso offline com DateTime.UtcNow.
- Match-3 na Unity: Grade, Troca e CombinaçãoUnity match 3 jogável: grade 8x8 em array 2D, tabuleiro sem combinação inicial, troca animada, detecção de linhas, queda, reposição e cascata em C# do Unity 6.
- Como Fazer Pong na Unity: Física, Placar e IAComo fazer Pong na Unity: bola com Physics Material 2D sem atrito, ângulo de rebote pela raquete, velocidade constante, placar e IA vencível, em C# do Unity 6.
- Como Fazer um Jogo de Quiz na Unity com ScriptableObjectUnity quiz game data-driven: perguntas em ScriptableObject, UI montada em runtime, alternativas embaralhadas sem perder a correta e tela de resultado em C#.
- Como Fazer um Top-Down Shooter na UnityUnity top down shooter twin-stick: movimento com Input System, mira no mouse e no analógico, tiro com pool, inimigos em ondas e câmera Cinemachine com shake.
- Como Fazer um Tower Defense na UnityUnity tower defense em grade: inimigos por waypoints, torre construída em célula livre com dinheiro, mira no inimigo mais avançado, ondas e vidas da base em C#.
Multiplayer e rede
- Unity Multiplayer: Como Fazer um Jogo do Zero (Netcode)Unity multiplayer do zero com o Netcode for GameObjects: modelo host, NetworkVariable, ServerRpc e servidor autoritativo, com código C# real.
- Mirror no Unity: networking open sourceMirror Unity multiplayer: instale o fork open source do UNet, use NetworkManager, SyncVar, Command e ClientRpc, faça spawn de jogadores e escolha entre Mirror, Photon e Netcode.
- Photon no Unity: multiplayer online com PUN 2Photon Unity multiplayer com PUN 2: instale o SDK, crie o App ID, conecte ao Master, entre em sala e sincronize jogadores com PhotonView e IPunObservable.
- Sincronizar Movimento no Netcode: NetworkTransformUnity Network Transform no Netcode 2.x: autoridade do servidor ou do dono, por que o cliente não se move, interpolação, eixos e Multiplayer Play Mode.
- Multiplayer Online na Unity com Relay e LobbyUnity Netcode Relay e Lobby com Multiplayer Services: crie sessão, gere código de entrada, liste salas e conecte jogadores sem servidor próprio nem abrir porta.
Shaders e efeitos visuais
Fisica e colisao
- Character Controller vs Rigidbody na Unity: Qual UsarUnity Character Controller vs Rigidbody: o que cada um faz sozinho, o que você programa, rampas, degraus, caixas e um critério para o primeiro projeto 3D.
- LayerMask e Layer Collision Matrix na UnityUnity LayerMask pelo uso: inimigo que não colide com inimigo, tiro que ignora quem atirou e raycast só no chão, com Layer Collision Matrix e bits.
- Objeto Atravessando Parede na Unity: Collision DetectionBala atravessando parede? Unity collision detection continuous: tunneling, modos Discrete, Continuous e Speculative, transform e raycast para bala rápida.
- Unity OnCollisionEnter e CompareTag: Detectar ColisãoUnity OnCollisionEnter na prática: o objeto Collision, CompareTag vs tag ==, filtro por layer e a interface IDamageable com TryGetComponent em C#.
- Unity OnTriggerEnter Não Funciona? Causas e CorreçõesUnity OnTriggerEnter não funciona? Checklist por probabilidade: Rigidbody, Is Trigger, 2D com 3D, método errado, layer e objeto inativo, com teste rápido.
- Ragdoll na Unity: Ragdoll Wizard e Ativar por CódigoUnity ragdoll com o Ragdoll Wizard num modelo Mixamo: desligado durante o jogo, ativado na morte com a força do tiro e erros de junta que fazem o boneco tremer
- Raycast na Unity: Como Funciona, LayerMask e Exemplos em C#Unity raycast em casos de jogo: tiro hitscan, checar chão e clicar com o mouse, usando RaycastHit, LayerMask, Debug.DrawRay e SphereCast, com C# do Unity 6.
- Raycast 2D na Unity: Ground Check, Visão e Linha de TiroUnity raycast 2D com Physics2D.Raycast: ground check com dois raios, inimigo que enxerga o jogador e linha de tiro, e por que o raio acerta o próprio collider.
- Rigidbody na Unity: AddForce, Velocity e MovePositionUnity Rigidbody na prática: AddForce com ForceMode, linearVelocity e MovePosition lado a lado, qual usar no pulo, no personagem e na plataforma no Unity 6.
- Rigidbody2D na Unity: Mover Personagem 2D com FísicaUnity Rigidbody2D explicado pelo problema que cada opção resolve: Body Type, Gravity Scale, linearVelocity, Collision Detection, Freeze Rotation e Interpolate.
- Trigger vs Collision na Unity: Qual Usar e QuandoUnity OnTriggerEnter vs OnCollisionEnter: tabela de decisão para moeda, dano, checkpoint e parede, a matriz de quem dispara evento com quem e as versões 2D.
IA dentro do jogo
- Campo de Visão do Inimigo na Unity: Ver, Ouvir e PerderUnity field of view enemy para stealth: cone por ângulo com Vector3.Angle, Raycast contra paredes, audição por raio, memória da última posição e versão 2D.
- Inimigo que Persegue o Jogador na Unity (2D e 3D)Unity enemy follow player em 2D com Rigidbody2D.linearVelocity e em 3D com NavMeshAgent: raio de detecção, distância de parada e desistência, em C# do Unity 6.
- NavMesh 2D na Unity: Pathfinding em Jogo Top-DownUnity NavMesh 2D em jogo top-down: por que o NavMesh nativo não lê Tilemap, como usar o NavMeshPlus, travar a rotação do agente e quando um grid resolve.
- NavMesh na Unity 6: AI Navigation e NavMeshSurfaceUnity NavMesh no Unity 6 com o pacote AI Navigation: NavMeshSurface, NavMeshAgent com SetDestination, Modifier, Obstacle com carving e NavMesh Link de pulo.
- Patrulha com Waypoints na Unity: Inimigo que Faz RondaUnity patrol waypoints com script reutilizável: loop e ida e volta, espera em cada ponto, rota com Gizmos, versão NavMeshAgent e troca para a perseguição.
Save, dados e localizacao
- PlayerPrefs na Unity: Salvar Recorde e OpçõesUnity PlayerPrefs na prática: salvar recorde e opções com SetInt, GetFloat e HasKey, onde os dados ficam em cada plataforma e quando trocar por save em JSON.
- Sistema de Save na Unity com JSON e persistentDataPathUnity save system com JSON: classe SaveData, JsonUtility, arquivo em persistentDataPath, gravação segura com temporário e versão do save para não quebrar saves.
Interface e UX
- Barra de Vida na Unity: Slider, Image Fill e InimigosUnity barra de vida com Slider ou Image Fill: HUD do jogador, barra em cima do inimigo, barra de dano atrasada e código C# por evento que serve em 2D e 3D.
- Botão na Unity: OnClick, AddListener e Botão que Não ClicaBotão na Unity com OnClick: ligue pelo Inspector ou por AddListener, passe parâmetros e resolva o botão que não clica com um checklist de causas.
- Traduzir Jogos na Unity: Localization Passo a PassoComo traduzir seu jogo na Unity com o pacote Localization: Locales, String Tables, troca de idioma no TextMeshPro e variáveis com Smart Strings.
- Menu de Pausa na Unity com Time.timeScaleUnity pause menu com Time.timeScale = 0: script com tecla e botão e a lista do que continua rodando pausado (Update, input, animação de UI e áudio).
- Navegar no Menu com Controle na Unity (EventSystem)Unity menu navigation with controller: EventSystem com InputSystemUIInputModule, First Selected, navegação explícita, troca de painel e destaque do botão.
- Menu de Opções na Unity: Volume, Resolução e Tela CheiaUnity settings menu completo: dropdown de resolução sem duplicata, tela cheia com FullScreenMode, qualidade, volume no Audio Mixer e opções salvas no início.
- Menu Principal na Unity: Jogar, Opções e SairUnity main menu funcional: botões Jogar, Opções e Sair, troca de painéis, Application.Quit que fecha na build e no editor e navegação por teclado e controle.
- Remapear Controles na Unity: Tela de RebindingUnity rebinding com o Input System: tela de remapear controles com PerformInteractiveRebinding, cancelar com Esc, tecla duplicada e salvar em JSON.
- Sistema de Diálogo na Unity com ScriptableObjectUnity dialogue system sem asset pago: falas em ScriptableObject, caixa com nome e retrato, máquina de escrever, avanço pelo Input System e NPC que conversa.
- Tela de Loading na Unity com LoadSceneAsync e BarraUnity loading screen real com LoadSceneAsync: barra de progresso, o porquê de travar em 90%, allowSceneActivation, cena intermediária e tempo mínimo na tela.
- TextMeshPro na Unity: Texto, Fonte com Acento e ScriptUnity TextMeshPro sem quadradinho no acento: crie o Font Asset com ç, ã e é, configure fallback, use TMP_Text e atualize texto por script sem gerar lixo.
- Número de Dano Flutuante na Unity (Damage Popup)Unity damage popup com TextMeshPro em world space: número que sobe, cresce e some, cor de crítico, virado para a câmera e vindo de ObjectPool, em C# do Unity 6.
- UI Toolkit na Unity: Tutorial com UI Builder e USSUnity UI Toolkit do zero: monte HUD e menu no UI Builder, estilize com USS, configure UIDocument e Panel Settings e responda a cliques com C# no Unity 6.3.
Audio no jogo
- Audio Mixer na Unity: Volume de Música e Efeitos no MenuUnity Audio Mixer na prática: grupos Música e Efeitos, parâmetro exposto, slider em decibéis com Log10, volume salvo e snapshot de pausa, com C# do Unity 6.
- AudioSource na Unity: Tocar Som e Efeito por CódigoUnity AudioSource por código: Play vs PlayOneShot, som 2D e 3D com Spatial Blend, variação de pitch para o som não cansar e um mini gerenciador de efeitos.
Arte 2D
Mobile
- Joystick Virtual na Unity para Jogo MobileJoystick virtual na Unity com o On-Screen Stick do Input System, sem asset pago: mesma action do teclado, Canvas Scaler, safe area e versão flutuante em C#.
- Swipe na Unity: Detectar Deslizar o Dedo em Jogo MobileUnity swipe com o Input System: detector para endless runner com distância mínima em centímetros, tempo máximo, direção dominante e teste com mouse no editor.
- Touch na Unity: Toque, Arrastar e Multitoque no CelularUnity touch input com o Input System: toque simples pela action, EnhancedTouch para arrastar e multitoque, pinça para zoom e como testar no editor sem celular.
Performance e otimizacao
- Addressables na Unity: Carregar Assets sob DemandaUnity Addressables na prática: marcar assets, carregar por AssetReference com await, liberar memória com Release, grupos locais e remotos, e quando não usar.
- Assembly Definition na Unity: Compilar Mais RápidoUnity assembly definition (.asmdef) para recompilar menos ao salvar: divisão Runtime, Editor e Tests, referências entre assemblies e o erro CS0246.
- Object Pooling na Unity com o ObjectPool NativoUnity object pooling com UnityEngine.Pool.ObjectPool: troque Instantiate e Destroy de balas, configure os 4 callbacks, meça no Profiler e evite o release duplo.
Mecanicas de jogo
- Câmera Seguir o Jogador na Unity por Script (sem Cinemachine)Unity camera follow player por script: LateUpdate, SmoothDamp, offset, limites do mapa com Mathf.Clamp e a correção do jitter com Rigidbody, em C#.
- Camera Shake na Unity: Impulse do Cinemachine e por ScriptUnity camera shake de dois jeitos: Cinemachine Impulse Source e Listener disparados por evento, e script com Perlin noise e trauma, com opção de desligar.
- Checkpoint e Respawn na Unity: Morrer e VoltarCheckpoint na Unity com trigger, respawn do jogador com fade, reset de inimigos e o bug do CharacterController que ignora o teleporte, em C# do Unity 6.3.
- Click to Move na Unity: Mover com o Mouse e NavMeshUnity click to move: raycast do mouse até o chão, NavMeshAgent.SetDestination, bake com AI Navigation, marcador no destino e animação pela velocidade.
- Dash na Unity 2D: Impulso, Cooldown e InvencibilidadeUnity dash 2D em C#: impulso sem gravidade, duração com coroutine, cooldown, invencibilidade trocando a layer, TrailRenderer e o dash que atravessa parede.
- FPS Controller na Unity: Câmera em Primeira Pessoa do ZeroUnity FPS controller do zero em C#: mouse look com limite vertical, cursor travado, CharacterController, pulo e o erro do deltaTime no mouse, no Unity 6.
- Sistema de Interação na Unity: Portas, Itens e Tecla EUnity interaction system reutilizável: interface IInteractable, trigger no 2D ou raycast no 3D, prompt da tecla na tela e porta, item e NPC no mesmo código.
- Mirar no Mouse na Unity 2D: Girar Arma e PersonagemUnity rotate towards mouse 2D: gire a arma para o cursor com Mathf.Atan2 e transform.right, faça o flip sem inverter a arma e mire também com o analógico.
- Coletar Moedas na Unity: Trigger, Contador e SomColetar moedas na Unity com trigger 2D, contador por evento, pontuação em TextMeshPro, som que não corta e recorde salvo com PlayerPrefs, em C# do Unity 6.
- Movimento em Grade na Unity: Estilo Pokémon e PuzzleUnity grid movement em C#: passo de célula em célula com coroutine, input travado, parede checada antes de andar, alinhamento ao Tilemap e caixa de Sokoban.
- Script de Movimento 2D na Unity (C# com Input System)Script de movimento Unity 2D pronto em C#: Input System, Rigidbody2D.linearVelocity, aceleração, virar o sprite e os erros que fazem o player passar na parede.
- Script de Movimento 3D na Unity: Andar, Correr e GirarScript de movimento Unity 3D com CharacterController: andar relativo à câmera, correr com Shift, girar suave na direção e gravidade básica, em C# do Unity 6.
- Movimento Top Down 2D na Unity: Código Pronto em 8 DireçõesMovimento top down 2D na Unity com C# e Input System: 8 direções sem diagonal rápida, animação do personagem por direção e colisão com o Tilemap.
- Plataforma Móvel na Unity 2D sem o Jogador EscorregarUnity moving platform 2D com Rigidbody2D kinematic e MovePosition, duas formas de o jogador não escorregar e plataforma one-way com Platform Effector 2D, em C#.
- Pulo na Unity 2D: Ground Check, Altura Variável e CoyotePulo na Unity 2D bem feito em C#: ground check com OverlapBox, altura variável ao soltar o botão, coyote time, jump buffer e queda mais rápida no Unity 6.
- Pulo e Gravidade com Character Controller na Unity 3DUnity jump com Character Controller: gravidade manual, o truque do -2 no isGrounded, altura do pulo pela fórmula, coyote time em 3D e código C# do Unity 6.
- Sistema de Vida e Dano na Unity: Hit, Invencibilidade e MorteUnity health system reaproveitável: componente Health com eventos, interface IDamageable, invencibilidade com piscar, knockback e morte, em C# do Unity 6.
- Spawner de Inimigos na Unity: Ondas e Posição AleatóriaSpawn de inimigos na Unity com ondas em ScriptableObject, posição aleatória fora da câmera e object pooling com UnityEngine.Pool, em C# do Unity 6.3.
- Third Person Controller na Unity: Starter Assets e CódigoUnity third person controller por dois caminhos: o pacote pronto da Unity com troca de modelo, ou o seu com CharacterController e Cinemachine 3, e qual usar.
- Tiro 2D na Unity: Projétil, Direção e CadênciaTiro 2D na Unity com projétil Rigidbody2D, mira no mouse pelo Input System, cadência por timer, dano e pooling, sem a bala acertar quem atirou. C# do Unity 6.
- Tiro Hitscan com Raycast na Unity (FPS)Tiro com raycast na Unity para FPS: hitscan do centro da câmera, LayerMask, dano, cadência, munição, recarga, impacto e tracer, em C# do Unity 6.3 LTS.
Primeiros passos
- Unity 2D Tutorial: Como Fazer um Jogo 2D na UnityUnity 2D tutorial com projeto fechado: jogo de desviar de obstáculos com sprites, Rigidbody2D, spawner, game over e reinício, na ordem certa, com C# do Unity 6.
- Unity 3D Tutorial: Seu Primeiro Jogo 3D na UnityUnity 3D tutorial só com primitivas: bola que rola com AddForce, itens coletáveis, câmera que segue e tela de vitória, com eixos, metros e luz no Unity 6.
- Como Usar C# na Godot 4 do Zero: Guia PráticoComo usar C# na Godot 4 do zero: baixe a versão .NET, crie scripts .cs, herde de CharacterBody2D e use Export, GetNode e sinais na prática, passo a passo.
- GameObject e Componentes na Unity: Como a Engine PensaGameObject na Unity explicado montando um inimigo só com objeto vazio e componentes, e por que um script por responsabilidade vence um Inimigo.cs gigante.
- Unity Tutorial para Iniciantes: do Download ao Primeiro JogoUnity tutorial para iniciantes: instale pelo Hub, crie um projeto Universal 2D, faça um jogo de pegar moedas com 1 script C# e gere o executável numa tarde.
- Unity com VS Code: Configurar e Fazer o Autocomplete FuncionarUnity VSCode do jeito certo: extensão Unity, pacote Visual Studio Editor, .NET, External Script Editor e checklist para quando o autocomplete para de funcionar.
Fundamentos de codigo
- C# para Unity: o Essencial para Começar a Programar JogosC# para Unity sem estudar a linguagem inteira: tipos, if, loops, métodos, classes, listas, null e eventos, cada um dentro de um MonoBehaviour no Unity 6.
- Como Programar na Unity: Seu Primeiro Script em C#Como programar na Unity do zero: crie o primeiro script C#, entenda MonoBehaviour, Start, Update e Debug.Log e faça um objeto girar e mudar de cor no espaço.
- Awake, Start e Update na Unity: a Ordem de ExecuçãoUnity Start e Awake na prática: a ordem de execução com Debug.Log em dois objetos, onde pegar referência, onde ler outro objeto e o bug da ordem errada.
- Controle e Gamepad na Unity: Xbox, PlayStation e GenéricosUnity gamepad com o Input System: bindings para Xbox, PlayStation e genéricos, deadzone contra drift, troca de ícones teclado/controle e vibração em C#.
- Coroutines na Unity: WaitForSeconds, Timers e SequênciasUnity coroutine na prática: piscar após dano, contagem regressiva, sequência de spawn, como parar a coroutine certa e onde entra o Awaitable do Unity 6.
- Debug na Unity: Debug.Log, Breakpoints e GizmosUnity Debug.Log com contexto e cores, Debug.DrawRay e Gizmos para ver o invisível e breakpoints no Visual Studio e VS Code. Depure de verdade no Unity 6.
- Destroy na Unity: Remover Objetos, Componentes e FilhosUnity Destroy GameObject na prática: destruir a si mesmo, com atraso, só um componente, todos os filhos, e por que o objeto ainda existe até o fim do frame.
- DontDestroyOnLoad na Unity: Dados entre Cenas sem BugUnity DontDestroyOnLoad sem objeto duplicado: manter algo vivo entre cenas, checar instância, música de fundo com crossfade, cena bootstrap e quando não usar.
- Erro CS0246 na Unity: Type or Namespace Not FoundUnity error CS0246 resolvido pela mensagem: using faltando, pacote ausente, namespace novo do Cinemachine 3, nome errado ou Assembly Definition, e o CS0103.
- Unity Não Entra no Play Mode: Erros de CompilaçãoAll compiler errors have to be fixed before you can enter playmode: ache o primeiro erro real no Console, corrija os 6 comuns e resolva o Can't add script.
- Eventos na Unity: UnityEvent, Action e event em C#Unity UnityEvent, System.Action e event em C# com o mesmo exemplo: jogador morre e HUD e áudio reagem. Veja quando usar cada um e como evitar listener órfão.
- GetComponent na Unity: Como Acessar Outros ComponentesUnity GetComponent sem pesar o jogo: cache no Awake, TryGetComponent na colisão, GetComponentInChildren e InParent numa hitbox, com código C# do Unity 6.3.
- IndexOutOfRangeException na Unity: Arrays e ListasUnity IndexOutOfRangeException com exemplos de jogo: waypoints, inventário e spawn, o <= no for, Random.Range com máximo exclusivo e lista mudando no loop.
- Ler Botão no Input System: GetKeyDown, Pressed e HoldComo checar se um botão foi pressionado no New Input System da Unity: equivalentes de GetKeyDown, GetKey e GetKeyUp, Hold para carregar tiro e callbacks.
- Instantiate na Unity: Criar Objetos e Prefabs por CódigoUnity Instantiate na prática: spawn de tiro e inimigo, sobrecargas com posição, rotação e pai, componente tipado no retorno e a hora de usar object pooling.
- Lerp na Unity: Movimento, Cor e Rotação SuavesUnity Lerp do jeito certo: t de 0 a 1 com timer, o Lerp com deltaTime que nunca chega, a fórmula independente de FPS e quando usar SmoothDamp, Slerp ou cor.
- Máquina de Estados na Unity: FSM para Jogador e InimigoUnity state machine em C#: FSM com IState (Enter, Tick, Exit) para jogador parado, andando e pulando e inimigo que patrulha, persegue e ataca, sem if aninhado.
- MissingReferenceException na Unity: Objeto DestruídoUnity MissingReferenceException explicada: objeto destruído ainda referenciado, eventos sem remover, corrotina e async após Destroy, e por que ?. não funciona.
- New Input System da Unity: Tutorial do Zero em C#Unity New Input System do zero: actions do Unity 6, InputSystem.actions, Player Input e classe gerada em C#, com código pronto e a correção do erro do Input.
- NullReferenceException na Unity: Como Achar e CorrigirUnity NullReferenceException: como ler o erro no Console, achar a linha, as causas mais comuns (Inspector, GetComponent, ordem, objeto destruído) e prevenir.
- Posição do Mouse na Unity: Input System e ScreenToWorldPointPosição do mouse no Unity Input System: Mouse.current.position, ScreenToWorldPoint em 2D com o Z certo, raycast em 3D e como ignorar cliques em cima da UI.
- Rotação na Unity: Quaternion, Euler e LookRotationUnity Quaternion sem medo: Euler, LookRotation, RotateTowards e Slerp numa torreta que mira no jogador, e o erro de mexer em rotation.x achando que é ângulo.
- ScriptableObject na Unity: o Que É e Como UsarUnity ScriptableObject na prática: dados de armas e inimigos como assets no Inspector, CreateAssetMenu, diferença para MonoBehaviour e a armadilha do runtime.
- SerializeField vs public na Unity: Variáveis no InspectorSerializeField na Unity: por que usar private com [SerializeField] em vez de public, Header, Tooltip e Range, e o valor do Inspector que ignora o código.
- Singleton na Unity: GameManager do Jeito CertoUnity singleton em C# para um GameManager sem duplicata nem NullReference: Instance protegido, ordem Awake e Start, versão genérica e quando trocar por eventos.
- Time.deltaTime na Unity: Movimento Igual em Qualquer FPSUnity Time.deltaTime explicado: o mesmo movimento a 30 e 144 FPS, quando não multiplicar, timer simples, timeScale e unscaledDeltaTime no menu de pausa.
- Trocar de Cena na Unity: SceneManager.LoadSceneUnity SceneManager.LoadScene na prática: troque de cena por nome e índice, crie porta para outra fase, recarregue a fase e resolva cena fora do Build Profile.
- Update vs FixedUpdate vs LateUpdate na UnityUnity Update vs FixedUpdate vs LateUpdate: input no Update, física no FixedUpdate, câmera no LateUpdate e o bug do pulo que some, com código do Unity 6.3.
- Vector3 na Unity: Distance, MoveTowards, Normalize e DotUnity Vector3 aplicado a mecânicas: Distance para alcance de ataque, MoveTowards na patrulha, normalized, Dot para visão e sqrMagnitude, com C# do Unity 6.
Animacao
- Animation Events na Unity: Dano, Passos e Som no Frame CertoUnity Animation Event na prática: dano no frame exato do golpe, som de passo quando o pé encosta e o erro has no receiver, com código C# para Unity 6.3.
- Animator na Unity: Animator Controller do ZeroUnity Animator do zero: Animator Controller com Idle, Walk e Jump, estados, transições, parâmetros e layers, e o mínimo de C# para dirigir as animações.
- Parâmetros do Animator: SetTrigger, SetBool e SetFloatUnity Animator trigger, bool, float e int: quando usar cada parâmetro, como chamar por script e como resolver o ataque que toca duas vezes por trigger guardado.
- Blend Tree na Unity: Andar e Correr sem CorteBlend Tree na Unity: misture idle, andar e correr pela velocidade real do personagem, use damping no SetFloat e monte o 2D de 8 direções no Unity 6.3.
Quer sair do tutorial solto e terminar um jogo de verdade?
A plataforma do CursoGame.Dev leva voce do zero ate publicar, com caminho definido em vez de video avulso.
Conhecer a plataforma