BaseObject is similar to BaseBehavior and BaseScriptableObject except that it's base class is Object. You have to mark the derived type as [Serializable] if you're using BaseObject within a MonoBehaviour context.
Because BaseObject requires Unity's ISerializationCallbackReceiver for serialization support, only Full Serializer is supported for the serialization engine (it is the only serializer to support serialization off of the main thread).