Dúvidas sobre mecânica (Game Isometric 3D)

Olá galera! Estou tendo um problema complicado em resolver aqui na unity.
Estou montando um game Isometric 3D com sprite 2D. Pra ser fofo.
O protagonista lança magia quando eu clico na tela com o mouse, porém não consigo fazer com que a magia vá para a direção onde o mouse está apontando. Este problema está tirando meu sono. Gostaria muito do auxilio da comunidade. Alguém pode me ajudar?

Informações do projeto.

Câmera está no modo Orthographic, ja que é pra ser isometric.
Dentro do player há um obj vazio que é o Spawn da magia.
As magias tem um código que faz ela ir para onde está apontando.

ERRO:
A magia não vai para onde eu clico no cenário.

Olá Jhonathan! Segue um código que acredito que possa te ajudar. Quando o jogador clicar com o botão esquerdo do mouse, um objeto é instanciado em uma posição pré-definida e então lançado em direção ao ponto exato onde ocorreu o clique. Dá uma olhada:

using UnityEngine;

public class PlayerAttack : MonoBehaviour
{
    // Referência para um Rigidbody que representa a magia (prefab)
    public Rigidbody magicPrefab;

    // Transform que indica onde a magia será instanciada
    public Transform magicSpawn;

    // Força de lançamento aplicada à magia quando atirada
    public float projectileForce = 5f;

    // LayerMask que define quais camadas serão reconhecidas como "chão" para o Raycast
    [SerializeField] private LayerMask groundMask;

    void Update()
    {
        // Verifica se o botão esquerdo do mouse foi pressionado durante este frame
        if (Input.GetMouseButtonDown(0))
        {
            // Cria um raio a partir da câmera, passando pela posição do mouse
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            // Dispara o Raycast até uma distância de 1000 unidades,
            // mas somente nos objetos que estiverem nas camadas definidas por 'groundMask'
            if (Physics.Raycast(ray, out hit, 1000f, groundMask))
            {
                // Armazena a posição exata onde o raio atingiu o "chão"
                Vector3 clickedPosition = hit.point;

                // Cria (instancia) a magia na posição e rotação definida em 'magicSpawn'
                // Aqui, usamos a posição e definimos a rotação como identidade (sem rotação extra)
                Rigidbody magic = Instantiate(magicPrefab, magicSpawn.position, Quaternion.identity);

                // Calcula a direção do lançamento, normalizando o vetor resultante
                // para termos apenas a direção (sem influenciar a magnitude)
                Vector3 direction = (clickedPosition - magicSpawn.position).normalized;

                // Aplica uma força impulsiva na magia para arremessá-la na direção calculada
                // 'ForceMode.Impulse' faz com que essa força seja aplicada de maneira instantânea
                magic.AddForce(direction * projectileForce, ForceMode.Impulse);
            }
        }
    }
}