Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Create asset for .NET library

Discussion in 'Assets and Asset Store' started by melanchall, Jan 20, 2022.

  1. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    16
    Hello,

    I have a project which provides a .NET library to read, write, process MIDI files and to work with MIDI devices – DryWetMIDI. I know that its usage within Unity is a popular use case so I want to create Unity asset for the library. But I have some questions:

    1. I need to use category Scripting, yes?
    2. What subcategory should I use? Scripting / Audio? MIDI is not exactly audio (since its not directly about producing sound), but it's the closest option.
    3. What is the proper way to create a package? I create some empty project, put all library binaries in some folder within Assets folder of the project (for example Assets/DryWetMIDI), let Unity create all .meta files and then use Asset Store Tools plugin (specifying that folder) to send the package to my publisher account?
    4. When I run validation of the asset, I get two errors: a) no help file b) no demo. I have full documentation for the library including API reference and help articles online – https://melanchall.github.io/drywetmidi. Am I still need to provde offline help file? And about demo: which demo should I provide for such project? Again there are examples of code in the documentation.
    5. When I then install that package in some Unity project, DryWetMIDI folder will be created within Assets folder of the project containing all packed library binaries, right?
    Thanks,
    Max
     
  2. hasanbayat

    hasanbayat

    Joined:
    Oct 18, 2016
    Posts:
    626
    1. Yes as it only provides a programming interface, or if you have a user interface for your library like a custom editor window that helps the users, then you can use some of the editor extension subcategories too.
    2. Yes, the Scripting / Audio seems the right one, as MIDI is almost always is just used for audio
    3. Create an empty project in multiple Unity versions if you're willing to support multiple Unity versions, otherwise, the latest LTS is fine, and then use a proper subfolder of Assets to not clutter the workspace of the users, like using the Plugins folder for this sort of stuff (libraries, binaries, ...), for example, Plugins/DryWetMIDI, and for exporting, It is the same as exporting a Unity package using "Export Package..." menu, just right-click any folder in Unity and you'll see this menu item, and then you can make an export and import it to see how it looks for the end-user, also Unity Asset Store Tools does the exact same thing and uploads that particular package to Asset Store.
    4. Create a simple help file like a Readme file to provide resources for getting help and support, you can use a simple Text file or a pdf or any other text format that you prefer, the .txt and .pdf are the most convenient ones, and you can put a simple demonstration script of how to use this package (as you already of examples available in the documentation), then put a demo midi there load it in the scene and Log something to the console, then save that scene as Demo, that will do it.
    5. Yup, it does the same thing as importing a raw Unity package, it is almost like unzipping the contents of a zip file.
    Stay awesome.
     
  3. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    16
    Thank you very much!