I am working on a texture matrix with multiple input texture Materials, although the child class is showing up as empty Elements in the inspector
[System.Serializable]
public class textureMaterial
{
public Material textureMat;
public float textureUnit;
public textureMatrix[] texMatrix;
[System.Serializable]
public class textureMatrix
{
public string tMapName { get; set; }
public Vector2 tMapVector { get; set; }
}
}
public textureMaterial[] texMat;
You have to remove the { get; set; }
in your code, so your class looks like
public class textureMatrix
{
public string tMapName;
public Vector2 tMapVector;
}
The { get; set; }
syntax lets the compiler create a private variable and a public get and set function for it (see what is the get set syntax).
Functions are never shown by the inspector. Private variables are only shown, if you specify the [SerializeField] property, which is not possible in this case, because the private var is automatically created by the compiler.