Simple serializable object example. This class cannot be stored as an asset, but can be serialized as Part of an asset. Shows ExposedMember attribute being applied to field, properties(accessors), and functions.
using UnityEngine;
{
[System.Serializable]
public class ObjectSize
{
[ExposeMember]
public float mass = 1f;
[ExposeMember]
public Vector3 dimensions = new Vector3(.5f, .1f, .1f);
[ExposeMember]
public float Volume { get { return dimensions.x * dimensions.y * dimensions.z; } }
[ExposeMember]
public float Density() { return mass / Volume; }
}
}