Variables are not visible in script Inspector window

前端 未结 1 1141
盖世英雄少女心
盖世英雄少女心 2021-01-20 22:23

I started Unity a couple of days ago and I\'m confused.
This is my current workspace:

\"\"

This is

相关标签:
1条回答
  • 2021-01-20 22:31
    1. To show properties/variables in the inspector, they must be public, if they are not they won't appear.

    2. You can also view private fields by attributing them as [SerializeField].

    3. To view custom classes in the inspector, you should mark them as [Serializable].

    4. To hide public variables from inspector, use [HideInInspector] or [System.NonSerialized] attribute.

    Here is a sample:

    public class SomePerson : MonoBehaviour 
    {
        //This field gets serialized because it is public.
        public string name = "John";
    
        //This field does not get serialized because it is private.
        private int age = 40;
    
        //This field gets serialized even though it is private
        //because it has the SerializeField attribute applied.
        [SerializeField]
        private bool hasHealthPotion = true;
    
        // This will be displayed in the inspector because the class has Serialized attribute.
        public SomeCustomClass somCustomClassInstance;
    
        // This will not be shown in inspector even if it is public.
        [HideInInspector]
        public bool hiddenBool;    
    
        // Same with this one.
        [System.NonSerialized]
        public int nonSerializedVariable = 5;
    }
    
    [System.Serializable]
    public class SomeCustomClass
    {
        public string someProperty;
    }
    
    0 讨论(0)
提交回复
热议问题