Can I assign voids/functions in the inspector, I want to make a easy-to-use system where I can drag functions(a Item is what type it is) into my List<> of crafting recipes.
So like have a List<> that can be editor edited and then have like, craft recipes, and then drag my outputitem(an Item class), as a function assigned in the item class? Which returns an Item.
Unity’s serialization has no built-in support for that.
If you can get away with using SendMessage, you can serialize an object to target, the name of a function to call, and one parameter for that function. If you plan ahead carefully, you can build surprisingly elaborate systems this way (I’ve mostly seen it used for UI).
Otherwise, you’d need some homebrew mechanism to set up your function references from serialized data. Maybe enums, strings, or other keys could be useful.
In your shoes, I’d probably want to take careful advantage of object-oriented programming (inheritance in particular), so that items can register themselves automatically from code.