Unsupported type Generic Mono when using Serializable

Hello everybody,

I have encountered an error I do not understand. The error is: Unsupported type Generic Mono. It happens after adding a [System.Serializable] to a simple class.

Unity seems to be running as usual, but this error appears whenever I try to edit one of the properties that belong to this class in the inspector.

This is my serializable class:

[System.Serializable]
public class EmitterNode {
    public GameObject emitter;
    public int        weight = 1;
}	

The only mention of this was in this Unity Forums thread:
http://forum.unity3d.com/threads/131089-Unsupported-type-Generic-Mono
but no solution there.

Any idea what am I doing wrong?

EDIT:

  • Unity version: 3.5.6f4 on Windows
  • Target platform: Web Player
  • Imports in the class where the error happens: UnityEngine, System.Collections and System.Collections.Generic
  • The error occurs in the editor, immediately after I edit one of the values in that serialized class.

Wow a screencast! Just gave your question an upvote just for that :slight_smile:

That said, from the bold text in your screencast, I see you’re editing a prefab. I think what might’ve happened is that you changed a class (by adding the System.Serializable attribute) that was already “virtually” serialized - at least in part - while attached to a gameObject. Try to remove the Sequencer component from the gameObject you’re editing, and then re-attaching it and trying editing. That should fix it.

re-attach ur script component

I had the same error message when writing a PropertyDrawer for my custom struct (using UI Toolkit).
It happened when I changed the property value, in the inspector or in the code.

My solution was to move my

SerializedProperty property = FindPropertyRelative(name);

from properties to be inside the method.

Hope it helps