1
resposta

[Reclamação] Curso está atrasado

Acredito que o curso esteja completamente desatualizado. Nessa aula está sendo ministrado o uso do Input Manager, pacote esse já defazado. A propria Unity não incentiva o uso desse pacote, trocando ele pelo Input System, que é mais intuitivo, pratico, funcional e bem menos limitado. também achei pouco didático a forma com que os códigos de Behaviors estão sendo ensinados. conheço a unity e estava querendo aprofundar/atualizar meus conhecimentos, porém o curso parece congelado no tempo

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá Riquelme, como vai?

Infelizmente alguns cursos de Unity não tem sua publicação em uma data tão atual, logo algumas informações e ferramentas passadas neles podem apresentar diferença ou desuso com os dias atuais.

Se você está interessado em usar o Input System, você pode tentar integrá-lo ao seu projeto atual. Aqui está um exemplo básico de como você pode começar a usar o Input System para capturar a movimentação do jogador:

  1. Instale o Input System: Vá até o Package Manager (Janela > Gerenciador de Pacotes) e instale o Input System. Depois, você precisará reiniciar o projeto para aplicar as mudanças.

  2. Configure o Input System: Crie um novo Action Map e defina ações para movimentação. Por exemplo, adicione uma ação chamada "Move" e configure-a para usar o esquema de controle que preferir (teclado, gamepad, etc.).

  3. Script de Movimento: No script, você pode usar o novo sistema para capturar a entrada do usuário. Veja um exemplo simplificado:

using UnityEngine;
using UnityEngine.InputSystem;

public class PlayerBehavior : MonoBehaviour
{
    private PlayerInput playerInput;
    private Vector2 moveInput;

    private void Awake()
    {
        playerInput = new PlayerInput();
    }

    private void OnEnable()
    {
        playerInput.Enable();
    }

    private void OnDisable()
    {
        playerInput.Disable();
    }

    private void Update()
    {
        moveInput = playerInput.Gameplay.Move.ReadValue<Vector2>();
        transform.Translate(moveInput.x * Time.deltaTime, 0, 0);
    }
}

Neste exemplo, PlayerInput é uma classe gerada automaticamente pelo Input System com base nas configurações que você fez no editor de Input Actions.

Espero que isso ajude a tornar o seu aprendizado mais alinhado com as práticas atuais da Unity.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.