The basics

WME plugin support is designed to fit the object-oriented nature of WME scripting. That means each plugin can provide one or more scripting "classes", which can be then used from scripts. Scripts can create objects of these classes, call their methods and set/get their attributes, similarly to the built-in WME classes, such as File or String.

For example, the sample "wme_snow.dll" plugin provides a new scripting class called "Snow". Whenever this plugin is present in the WME directory, the scripts can create objects of the "Snow" class and access their methods and properties, like this:

var SnowGen = new Snow(100);
SnowGen.Run();

Internally, both the constructor and the method call are routed to the plugin DLL. WME only manages the interface between the scripts and the plugins.

The following chapters describe the interface each plugin has to provide to be usable that way. Be sure to check the samples as well, they should help you to better understand the principles.