Ошибка "error CS0106: The modifier 'public' is not valid for this item" возникает, потому что метод GenerateMessage() не может быть определен как public вне класса.
Чтобы исправить эту ошибку, нужно переместить метод GenerateMessage() внутрь класса RandomGenerate. Вот исправленный код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class RandomGenerate : MonoBehaviour
{
[SerializeField] private string[] messages;
[SerializeField] private Text messageText;
public void GenerateMessage()
{
messageText.text = messages[Random.Range(0, messages.Length)];
}
}
Теперь метод GenerateMessage() определен внутри класса RandomGenerate и может быть использован как public.