Hi people, I'm new on Unity and I'm trying to lear how Scriptable object works, can someone help me to find what should I connect on the editor?

Character script:

[CreateAssetMenu(fileName = "Personaggio", menuName = "personaggio")]
public class Personaggio : ScriptableObject
{
    public GameObject prefabPersonaggio;

    public string nome;
    public string età;
    public Sprite foto;
}

Insert Character:

using UnityEngine.UI;
using TMPro; 

public class MettiPersonaggio : MonoBehaviour
{
    public Personaggio[] personaggio;
    public TMP_Text nome;
    public TMP_Text età;
    public Image foto;
    public Transform location;

    GameObject nuovoPersonaggio;

    public void InserisciPersonaggio(int numero)
    {
        Destroy(nuovoPersonaggio);
        Debug.Log("Il bottone funziona  broooo");

        nome.text = personaggio[numero].nome;
        età.text = personaggio[numero].età;
        foto.sprite = personaggio[numero].foto;

        nuovoPersonaggio = Instantiate(personaggio[numero].prefabPersonaggio);
        nuovoPersonaggio.transform.position = location.position;
    }
}

Rotation script:

public class animazione360 : MonoBehaviour
{
    void Update()
    {
        transform.Rotate(0, 0.5f, 0);
    }
}

Did you already create a Scripteable Object over the context menu “Personaggio” that you created?

Unity_DFfBJvrqBc

After that you should be able to link them inside your array: public Personaggio[] personaggio

1 Like