Show / Hide Table of Contents

package.json

A package manifest file is similar to Unity's UPM package manifest specification or NPM's package.json.

As far as I know, no one has yet to define a standard for audio packs similar to standard for each individual audio's metadata tagging like Universal Category System (UCS). Therefore we need our own format here.

{
  "id": "OAP004",
  "name": "@tiny-ambience/oap004",
  "displayName": "Temple Birds",
  "description": "Big tree in a temple with tons of birds.",
  "version": "1.0.0",
  "location": "ABC Temple",
  "homepage": "https://exceed7.com/tiny-ambience",
  "timeOfDay": "day",
  "gears": ["Zoom H4n"],
  "coordinates": [
    {
      "latitude": 17.41481,
      "longitude": 102.787079
    }
  ],
  "images": ["./Images~/image1.png"],
  "author": {
    "name": "Sirawat Pitaksarit / 5argon",
    "email": "5argon@exceed7.com",
    "url": "https://5argon.info"
  }
}
  • id (required) : ID string of your pack. Files in your pack may not know the pack's full name but they belongs to this ID. Can't change once released, and can't be a duplicate, therefore better use abstract serially running number is a good idea so there is no reason to change.
  • name : Following standard package naming practice, it should be scoped. The name also cannot contain capital letter or spaces. We should just use the id in lower characters.
  • displayName : What nicer pack name you would like to display. Can use the same name as previous packs as long as the id is new.
  • description : Longer text describing your pack.
  • version : Bump this Semantic Versioning the same way as you would do to the code. Rightmost number bump when editing file name. Middle number when you added new clips. Leftmost is considered breaking change when you tinker with released clips (such as EQ out or changing dynamics, you fear that this update will make some unhappy). And of course if you deleted clip files from the pack.
  • location : A string or an array of strings listing locations in the pack. Broader scope like your city and country can be covered by latitude and longitude. Instead, put a specific location name here or skip it.
  • homepage : You can add a representative link so others can learn more about you or find other packs.
  • timeOfDay : One of these : morning, dawn, day, dusk, night, midnight. Use it when time matters a lot for your recordings. You can use an array of strings when there are multiple notable times in one pack. Use day and night instead if it wouldn't make any difference compared to a specific one even if you recorded at that time. morning-exclusive sound for example, for farm in the morning where animals are just coming out and has very distinct character. Not specifying any indicates that the sound likely wouldn't change if you come to record at different time. Outdoor recordings therefore mostly should specify this.
  • gears : An array of strings where each one is a notable gear you would like to mention, particularly if it determines the quality or style of your recordings.
  • coordinates : An object with latitude and longitude or an array of it. When you want to express where did you go to record them. Interface maybe able to retrieve photo from map service when image is not included.
  • images : Photo worth a lot for ambiences since you can roughly imagine the sounds without listening to everything. Put a path to image files that should represent your pack such as recording locations. They should be inside Images~ folder so Unity skips importing them.
  • author : An object with name and optionally email or url. Like NPM, if you use contributors instead you can attribute multiple people. Perhaps field recordist and the audio editor is not the same person.
In This Article
Back to top
A Unity plugin by 5argon from Exceed7 Experiments. Problems/suggestions/contact : 5argon@exceed7.com Discord Unity Forum