which makes no sense since my Unity object isn’t null. Does my object class need any attributes to be able to be saved as an .asset file or am I misunderstanding how this works?
When the error tells you that the parameter is “null” than it is, logically. Keep in mind that most UnityEngine.Object derived types need special means to create an instance. Especially MonoBehaviour and ScriptableObject derived types. Those can not be created with “new”. If you do the object is considered dead / null. Like ilusja said, show the code where you actually “create” your object that you try to store as asset.