Analisando propostas

Correção de Bug: Teleporte Involuntário do Jogador ao Trocar de Câmera em Jogo Multiplayer Unity

Publicado em 10 de Janeiro de 2026 dias na TI e Programação

Sobre este projeto

Aberto

Estamos buscando um desenvolvedor Unity experiente para resolver um bug crítico no jogo "Red Vanguard", que foi portado da Unity 4 para a Unity 2018. O problema ocorre quando o jogador é teleportado involuntariamente para a posição inicial de spawn ao alternar entre a câmera de primeira e terceira pessoa (ou vice-versa).

Detalhes do Bug:
- O jogador está andando normalmente em primeira pessoa.
- Ao trocar para terceira pessoa (ou vice-versa), o jogador "pula" instantaneamente para o ponto de spawn original.

Ambiente:
- Engine: Unity 2018 (originalmente Unity 4)
- Linguagem: C# (código decompilado de UnityScript/Boo)
- Sistema: Multiplayer com Unity Legacy Networking (NetworkView, RPC)

Causa Raiz Identificada:
O bug foi rastreado a uma sequência de eventos durante a troca de câmera:
1. O método setCameraTogglePrimarySecondary() em PlayerController.cs é chamado.
2. Este método, por sua vez, chama removeView() em CharacterControllerScript.cs.
3. Na linha 1021 de CharacterControllerScript.cs, há uma chamada para SetActiveRecursively(true) que reativa TODOS os scripts filhos.
4. Isso reativa o NetworkCharacterScript, que é responsável por sincronizar a posição de jogadores REMOTOS.
5. O NetworkCharacterScript.Update() é executado e sobrescreve a posição do jogador LOCAL com valores de currentPosition que estão desatualizados ou em (0,0,0).

O objetivo é implementar uma solução que impeça o NetworkCharacterScript de sobrescrever a posição do jogador local com dados incorretos ou desatualizados durante a troca de câmera, garantindo uma transição suave e correta.

Categoria TI e Programação
Subcategoria Aplicativos desktop
Qual é o alcance do projeto? Alteração média

Prazo de Entrega: Não estabelecido

Habilidades necessárias