Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Fiz um sistema de trocar skin do player

Adicionei um botão responsável por alterar a Skin do player. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeToda vez que o botão for clicado a skin atual é desligada e o código chama a próxima skin, ao chegar no final da contagem, ele volta pra 1ª skin. Quando clicamos em jogar, ele salva a informação em um playerprefs, que é chamado dentro do player.

Código menu:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class ControlaMenu : MonoBehaviour
{
    public Transform player;
    public GameObject BotaoSair;
    private int numeroSkin = 1;

    void Start()
    {
        player = GameObject.FindWithTag(Tags.player).transform;
        #if UNITY_STANDALONE || UNITY_EDITOR
            BotaoSair.SetActive(true);
        #endif
    }
    public void Jogar()
    {
        PlayerPrefs.SetInt("SkinDePreferencia",numeroSkin);
        SceneManager.LoadScene("tela");
    }
    public void TrocarSkin()
    {
        player.GetChild(numeroSkin).gameObject.SetActive(false);
        numeroSkin++;

        if (numeroSkin >= player.childCount)
        { 
            numeroSkin = 1;
        }
        player.GetChild(numeroSkin).gameObject.SetActive(true);
    }
    public void Sair()
    {
        Application.Quit();
        #if UNITY_EDITOR
            UnityEditor.EditorApplication.isPlaying = false;
        #endif
    }
}

a contagem começa em 1 pra ignorar o root_jnt, fica atento se não tem nenhum outro child, no meu caso tinha a referencia do tiro, ae bastou colocar na mão do personagem.

Código do player, apenas as partes relevantes:

    public GameObject player;
    private int skinDePreferencia;
        void Start()
    {
        skinDePreferencia = PlayerPrefs.GetInt("SkinDePreferencia");
        player = GameObject.FindWithTag(Tags.player);
        TrocandoSkinDoPlayer();
    }
       public void TrocandoSkinDoPlayer()
    {
        player.transform.GetChild(skinDePreferencia).gameObject.SetActive(true);
    }
1 resposta
solução!

Muito bom, Richard, parabéns pelos estudos!