Serialized class is not visible in inspector???

Hi, i am trying to create a system and need to separate my classes for readability.

i know i need to use [System.Serializable] on the top of my class, however when i try and create an instance of this class from another script (Making it public i end up with None(Spawner) in all of the array elements, this system worked perfectly fine when it was all in a single file with multiple classes in the same file. however i have gotten to the point where i need t ore write it because i can no longer keep track of whats where in 1 file due to the size.

question is why is the inspector not showing any data but an empty array here are the 2 scripts i have, this happens with all scripts i create in this project.

Project is a NEW Cloud Project with Collab

91864-dafaq.png

as you can see my Spawners script is blank but has all the correct data filled out and should show what the test script under it is. however the Test script has Ts Class within it. when i move the Ts class out from this script i get the same result as above. has anyone got any idea what is causing this issue?

Ok spent over an hour trying to figure this one out…

for new scripts you create, they derive from monobehaviour. just remove that e.g

using UnityEngine;
using System.Collections;

Class myTestClass:Monobehaviour
{

}

the monobehaviour wont allow you to view the class in the inspector, just make a standard class to call from your other .cs script which contains a monobehaviour to serialise the class in the inspector.

I’m no expert on this or anything, But in the script that doesn’t derive from Monobehaviour, you can ass System.Serilizable at the top to make it appear, when you call it from another script that does derive from Monobehaviour.