Page tree
Skip to end of metadata
Go to start of metadata

Browse the VST 3 SDK's technical documentation. The full VST 3 API reference is only available in the VST 3 Package that you can download or find online here.


VST 3 API Documentation

The VST 3 API is an interface collection designed for realtime audio processing components. Such a component can be an audio effect or an audio instrument.

Parameters and Automation

Description of how parameters are defined and used in VST 3

VST 3 Units

A unit is a logical section of the plug-in.

Presets & Program Lists

How presets and program lists are handled in VST 3

Complex Plug-in Structures / Multi-timbral Instruments

How to handle complex plug-in structures and multi-timbrality.

VST 3 Workflow Diagrams

Some useful graphical call sequences a VST 3 compliant host should follow.

VST 3 Locations / Format

Formats definition of a VST 3 Plug-in and its preset and where they are located on different platforms.


[3.0.0] Interfaces supported by the Plug-in

List of interfaces supported/implemented by the plug-in in VST 3.0.0

[3.0.0] Interfaces supported by the Host

List of interfaces supported/implemented by the host in VST 3.0.0

[3.0.1] Parameter MIDI Mapping Support

How the mapping works between MIDI CCs and parameters.

[3.0.2] Parameter Finder Support

How the host can retrieve the parameter where the mouse cursor is located.

[3.1.0] Audio Presentation Latency Support

Inform the plug-in about how long from the moment of generation/acquiring (from file or from Input) it will take for its input to arrive, and how long it will take for its output to be presented (to output or to speaker).

[3.1.0] UI Group Editing, Dirty State and Open Editor Request Support

Improvement of the plug-in's integration in the host (dirty state, request Open Editor, group editing)

[3.1.0] KnobMode / openHelp / openAboutBox Support

Extension to allow the host to inform the plug-in about the host knob mode

[3.5.0] Note Expression Support

A new way to control / modify / change a specific played note during playback.

[3.5.0] Key Switch Support

Allows information exchange between the plug-in and host about which key switches are currently used.

[3.5.0] Remote Representation of Parameters Support

How to better support remote (UI and hardware) for parameters.

[3.5.0] Context Menu Support

A plug-in can ask the host to create a context menu for a given exported parameter ID or a generic context menu.

[3.5.0] Better Support of Linked Parameters

This allows the host to start a parameter editing action which can generate other parameter changes (like linked parameters) and this in one session (between a beginEdit and endEdit).

[3.6.0] iOS Inter-App Audio Support

iOS InterApp-Audio application out of your VST 3 plug-in

[3.6.0] Preset Meta-Information Support

Interface to access preset meta information from stream, used, for example, in setState in order to inform the plug-in about the current context in which the preset loading occurs

[3.6.5] Channel Context Info Support

Allows the host to inform the plug-in about the context in which the plug-in is instantiated, mainly channel based info (color, name, index,...).

[3.6.5] Unit-Bus Assignment Change Support

 The plug-in has the possibility to inform the host with notifyUnitByBusChange that something has changed in the bus - unit assignment,

[3.6.5] Prefetchable Support

Indicates if the plug-in supports prefetch (dynamically)

[3.6.5] Automation State Support

Hosts can inform the plug-in about its current automation state (Read/Write/Nothing).

[3.6.6] PlugView Content Scale Support

This interface communicates the content scale factor from the host to the plug-in view on systems where plug-ins cannot get this information directly like Microsoft Windows.

[3.6.8] Request Bus Activation

Allows the plug-in to request the host to activate or deactivate a specific bus.

[3.6.10] Snapshots inside the VST3 Bundle Support

a VST 3 bundle can contain pre-rendered snapshot images for a VST 3 host as a visual representation of the plug-in UI

[3.6.11] NoteExpression Physical UI Mapping Support

With this plug-in interface, the host can retrieve the preferred physical mapping associated to note expression supported by the plug-in.

[3.6.12] Legacy MIDI CC Out Event

This kind of event is reserved for generating MIDI CC as output event for kEvent Bus during the process call.

[3.6.12] MIDI Learn Support

If this interface is implemented by the edit controller, the host will call this method whenever there is live MIDI-CC input for the plug-in.

[3.6.12] PlugInterface Support from Host

Allows a plug-in to ask the host if a given plug-in interface is supported/used by the host

[3.6.12] MPE support in Wrappers

Implemented on wrappers that support MPE (MIDI Polyphonic Expression) to Note Expression translation.

[3.7.0] Parameter Function Name

This interface allows the host to get a parameter associated to a specific meaning (a functionName) for a given unit

[3.7.0] IProgress Support

Allows the plug-in to request the host to create a progress for some specific tasks which take some time.

[3.7.0] Process Context

To get accurate process context information (Vst::ProcessContext), it is now required to implement this interface 


About MIDI in VST 3

Unlike in VST 2, MIDI is not included in VST 3.

VST Module Architecture

VST-MA is a component model system which is used in all Steinberg host applications as the basic layer for plug-in support.


  • No labels