CreateInstance save problem

Hallo and sorry for my bad english.

I write a EditorWindow (RoomEditor) for my rooms in my game. I save the rooms in ScriptableObject (ScriptableObjectRoom) with this code:

void Save()
{         
        ScriptableObjectRoom scriptableObjectRoom =  CreateInstance<ScriptableObjectRoom>();
        scriptableObjectRoom.SetScriptableObjectRoom(map);

        AssetDatabase.CreateAsset(scriptableObjectRoom, "Assets/Scriptable Objects/Rooms/Temp.asset");
}

And it works! But after i change something in my RoomEditor are all my ScriptableObjectRoom empty!

ScriptableObjectRoom contains lists of Fields. Field is a normal (non : MonoBehaviour) Class and contain a enum and 3 Ints.

Field needed [System.Serializable]
now it works