ID for Parameter Automation


Am I correct that identifier meant in “The Plug-in has to assign a unique 32-bit identifier to each exported parameter.” is ParameterInfo::id, and that this ID is supposed to be used by host software to identify parameters for automation?

Am I furthermore correct that the index of the parameter (as shown by e.g. VST3PluginTestHost) is not supposed to identify automatable parameters?

That is, as a plug-in developer I can change the order of parameters as I please - as long as I keep the IDs unique and identical between builds?


  • Urs

bump for urgency of clarification…

Yes, parameter ID is a unique identifier inside a plugin, exported to the host. The host uses this ID for automation mapping (automation curve => parameter ID) or remote control mapping (physical knob <=> parameter ID)…

For keeping automation compatibility between different versions of the plugin you have to use the same ID for given parameter if the meaning of this parameter has not changed, else you have to use a new ID for it.

The order of parameters has no influence on the automation mapping, only the UI-presentation of the parameters will change (depending on the unit structure too)


Thanks Yvan!

We’ll notify the host developers who we think got this wrong.


  • Urs