Class lists not entirely working

I have two classes as well as my main script, and I’m putting the classes into lists to store information about weather types. The problem is, only one of them ever shows up as a list. I have tried switching the order around, and it is only ever the first of the two that gets shown. I get all kinds of errors when working on the other one, and I’m not sure about what to do to fix it.

My code (I removed the irrelevant stuff):

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[System.Serializable]

public class RainTypes
{
	public Object rainPrefab;
	public Color fogColour;
	public float fogStart;
	public float fogEnd;
	public Color ambientLight;
}

public class WindZoneTypes
{
	public float windMain;
	public float windTurbulence;
	public float windPulseMagnitude;
	public float windPulseFrequency;
}
	

public class WeatherManager : MonoBehaviour
{
	public List<RainTypes> rainTypes = new List<RainTypes>();
	public List<WindZoneTypes> windTypes = new List<WindZoneTypes>();
}

Thank you for your time,

zedseven

Add [System.Serializable] before public class WindZoneTypes.

[System.Serializable]
public class RainTypes
{
    public Object rainPrefab;
    public Color fogColour;
    public float fogStart;
    public float fogEnd;
    public Color ambientLight;
}

[System.Serializable] 
public class WindZoneTypes
{
    public float windMain;
    public float windTurbulence;
    public float windPulseMagnitude;
    public float windPulseFrequency;
}