Search this manual

Instance script interface

The IInstance script interface represents a single instance of an object type (represented by IObjectClass). Instances that appear in the layout have a IWorldInstance interface instead, but it derives from IInstance, so these methods and properties are available for any type of instance.

Many objects return a more specific class deriving from IInstance or IWorldInstance to add APIs specific to the plugin. See the Plugin interfaces reference for more information.

Instance APIs

addEventListener(type, func, capture)

removeEventListener(type, func, capture)

Add or remove an event handler for a particular type of event fired by an addon's script interface. For information on which events are fired, see the documentation on each addon's script interfaces.


A reference back to the IRuntime interface. (This is particularly useful when subclassing instances, since in a custom class's methods you can always refer to the runtime with this.runtime.)


The IObjectClass interface for this instance's object type.


If the object has any instance variables, they can be accessed by named properties under this property. For example if an object has an instance variable named health, it can be set and retrieved using Note if the object has no instance variables, the instance won't have an instVars property at all.


If the object has any behaviors, they can be accessed by named properties under this property. For example if an object has a behavior named Bullet, it can be accessed using instance.behaviors.Bullet. Each behavior has its own properties and methods, which can be found in the Behavior interfaces reference section. Note if the object has no behaviors, the instance won't have a behaviors property at all.


The unique ID of this instance, as a number. Note instances can be looked up by their UID using the runtime getInstanceByUid() method.


Destroy the instance, removing it and releasing any memory associated with it.

Construct 3 Manual 2020-04-27

On this page