ScriptableObject Tutorial: Getting Started | raywenderlich.com

The warnings are related to having private serialized fields. If you’d like them gone you can add = default; next to each Serialized Field. This is sort of a bug with the new Roslyn Compiler, which has a fix in place. So expect those warnings to disappear in future versions of Unity.

@kalmdown3d @dover Consider a scenario where you have an Audio Engine that wants to play a different Audio Clip for each sword, when you select it. This is where having a unique event for each sword is useful, the Audio Engine can listen to these different events and play the correct sword selected sound. Keeping it an entirely decoupled system.

In regards to automatically assigning the different parts. Yes, there are definitely ways, but they were outside the scope of this tutorial. Take a look at how you can extend the editor in this tutorial: https://www.raywenderlich.com/939-extend-the-unity3d-editor

Some other references that might help get you started for this particular automation job: