Нет public полей в инспекторе Unity

Вопрос заключается в том что поля класса скрипта, привязанного к GameObject, не отображается в инспекторе. Скрипт в инспекторе:

Отображение скрипта в инспекторе

Часть скрипта (начало):

public class SphereCounter : MonoBehaviour
{
    public static Sprite Red;
    public static Sprite Green;
    public static Sprite Blue;

    public GameObject Slot;
    public GameObject Canvas;
    ...

Ответы (1 шт):

Автор решения: Mr.AntonDer

Unity не отображает static переменные:

public Sprite Red;
    public Sprite Green;
    public Sprite Blue;

Если вы хотите изменять эти переменные из другого скрипта, то:

  1. В скрипте, из которого хотите что-либо изменять в другом скрипте, вам нужно создать публичную переменную скрипта, в котором хотите что-либо изменять, в вашем случае будет это выглядить так:
public SphereCounter sc;
  1. В эдиторе, перетащить в появившиеся поле, объект на котором весит скрипт: SphereCounter

Далее вы можете обращаться ко всему, что находится в скрипте SphereCounter, например так:

sc.Red = Color.Red;
→ Ссылка