Unity может сериализовать только списки сериализуемого типа - от Вручную .
Ваш публичный список List<Bot<BotType1>> Bots
происходит от Bot<T>
, у которого есть универсальный параметр, это означает, что он не сериализуем. Это означает, что класс в вашем списке Bot<BotType1>
нигде не установлен как Serializable.
Для достижения вашего результата вы должны установить его как Serializable.
[Serializable] public class BotOfType1 : Bot<BotType1>{}
Тогда ваш список станет:
public class GameManager : MonoBehaviour
{
[SerializeField]
public List<BotOfType1> Bots = new List<BotOfType1>();
}