Is it posible to edit MonoScript attributes from editor?

[System.Serializable]
public abstract class Car {
public string name;
}

[System.Serializable]
public class Ferrari {
    public float turboSpeed;
}

[System.Serializable]
public class Hippie {
    public float grillPower;
}

[System.Serializable]
public class CarManager {
    public MonoScript[] myCars;
}

With this code separated in in diferent files, when I go to the inspector, I see this if I fill the list:
139784-unityproblem1.png

But now I want that when I put the the cars in the list, I can edit the attributes os this objects like I can do with CarManager or like if I make the list of some kind of car like Ferrari or Hippie.
Is it posible? I’ve been looking around for an entire day and I didn’t find anything about it.
Any sugestion?

Thanks!

There’s a big error in your code. MonoScript type refers to the actual text asset that’s used in the code compilation. It is NOT a base class of any class you use ingame. Standard scriptable base classes in Unity are ScriptableObject and MonoBEhaviour, but your cars are not deriving from any of them. Which is NOT a problem.
The problem you might encounter here is this:

  1. Your car classes do’t have any shared base class. Means you cannot have a list of cars of different type. And even if you had:
  2. Unity serializes everything that doesn’t derive from UnityEngine.Object as an embedded value. However, lists and arrays don’t support polymorphism (serialization), which means you cannot serialize a list of objects of different type. You can, however, serialize a list of references, which can point to objects of a different type. To do this, you could:
  • Have a base class Car that derives from ScriptableObject, all your cars derive from this type
  • Have a serialized array of type Car
  • Instantiate objects of different car types and assign it to the list