Не работает SetActive()

Не удается в принципе реализовать SetActive() для окна InputField, в VS он подчеркивается красной линией, а при сохранении скрипта не удается запустить игру. В других скриптах не фигурирует, game object назначен в инспекторе. С чем это может быть связано?

using UnityEngine;
using UnityEngine.UI;

public InputField AnswerField;

void Start()
{
   AnswerField.SetActive(false);
}

private void OnTriggerEnter2D(Collider2D co)
{
   if (co.tag=="name")
   {
      AnswerField.SetActive(true);
   }
}

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

Автор решения: Andrew

SetActive - метод GameObject-a.

using UnityEngine;
using UnityEngine.UI;

public GameObject AnswerField;

void Start()
{
   AnswerField.SetActive(false);
}

private void OnTriggerEnter2D(Collider2D co)
{
   if (co.tag=="name")
   {
      AnswerField.SetActive(true);
   }
}
→ Ссылка
Автор решения: Yaroslav

SetActive это метод GameObject.

gameObject.SetActive(true);

InputField это MonoBehaviour, а не GameObject.

MonoBehaviour это КОМПОНЕНТ для GameObject.

Не путать тёплое с мягким !!!

У компонентов есть ссылка на GameObject, к которому они принадлежат.

AnswerField.gameObject.SetActive(true);
→ Ссылка