There’s zero difference between scripts and DLLs as far as functionality goes. They are exactly the same thing…you don’t think Unity is actually running text scripts, I hope; it’s running compiled code which is identical to code in DLLs. It’s not “better to distribute DLL when it is published as a plugin or asset”, by the way. Many people won’t buy unless you include source code. I do include DLLs for most of my utilities (one of which uses a ScriptableObject) for the sake of eliminating code compiling time, but also include source.
If you read the ScriptableObject asset, you will see the ScriptableObjects are mapped by guid and fileID together.
But I actually have a need to not include the source code.
Any way I can write a tool to map the ScriptableObjects myself. But it’s inconvenience. I thought the ScriptData update will add this feature.