# General Plugin Setup in the Manifest

FormIt plugins are composed of a key core component called a *manifest.json* file.

The manifest file is a [JSON object](http://www.json.org) that tells the FormIt infrastructure what files to fetch and what kind of plugin to create.

### Manifest.json Structure and Properties

A manifest.json file has the following structure. It has additional properties depending on whether it's a [toolbar-based](https://windows.help.formit.autodesk.com/plugins/how-to-develop-plugins/additional-development-options/creating-a-toolbar-based-plugin) or an [HTML panel-based plugin](https://windows.help.formit.autodesk.com/plugins/how-to-develop-plugins/additional-development-options/creating-an-html-panel-plugin).

```
{
    "PluginName": "[PluginName]",
    "PluginType": "[PluginType]"
    "PluginDescription": "[PluginDescription]",
    "Scripts": [
        "PLUGINLOCATION/[script1].js",
        "PLUGINLOCATION/[script2].js",
        ...
        "PLUGINLOCATION/[scriptn].js"
    ]
}               
```

A typical plugin includes these JSON properties:

* "PluginName" represents the name of the plugin for internal and most display purposes, including for the [Plugin Manager.](https://windows.help.formit.autodesk.com/how-to-use-plug-ins#plugin-manager)
* "PluginType" represents the type of the plugin, letting users know in the [Plugin Manager](https://windows.help.formit.autodesk.com/how-to-use-plug-ins#plugin-manager) description what to look for when they install the plugin.
* "PluginDescription" is displayed in the [Plugin Manager](https://windows.help.formit.autodesk.com/how-to-use-plug-ins#plugin-manager) to communicate the plugin's capabilities.
* "Scripts" lists the required external scripts associated with the plugin that will be loaded into the FormIt application and can be executed when plugin functionality is invoked.

![](https://193854745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVWdttpiARClwDWoDArlA%2Fuploads%2Fgit-blob-18eb23b02895a5a888fc594c6e3c0b9898b224c2%2Fimage.png?alt=media)

Start your plugin development by creating a manifest.json file in your plugin folder. Next, you'll need to decide whether you are making a toolbar-based or panel-based plugin.

![](https://193854745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVWdttpiARClwDWoDArlA%2Fuploads%2Fgit-blob-52e00ef56720f96d1f2694072511423a0203a079%2Fimage.png?alt=media)

**Note:** The use of PLUGINLOCATION throughout the manifest.json file above is essential and is case sensitive. FormIt will replace PLUGINLOCATION with the server location for the plugin.
