View a comprehensive history of all the new Javascript scripting feature updates and changes Construct 3 since the first release.

6 favourites
Script blocks in event sheets can now be disabled
2 favourites
Fix custom instance classes not always being immediately instantiated (regression since r154)
2 favourites
Fix runtime mouse events not firing (regression since r155)
1 favourites
Disabled language specific identation in text editors - prevents unneeded indentation in JS when following the style of having the opening brace on a new line
2 favourites
Referencing an undefined variable in a script is now assumed to be an external variable, and is considered to be defined in the global scope by the autocomplete system
3 favourites
New script interfaces for Array, Button, Dictionary, Sprite, SpriteFont, Text, Text Input, Tiled Background and Tilemap
2 favourites
Added "deviceorientation" and "devicemotion" events, and Touch script interface for requesting orientation/motion permission
3 favourites
Add runtime.invokeDownload() method
3 favourites
Fix incorrect error using 'await' in event sheet script blocks
3 favourites
Both 'runtime' and 'localVars' are now recognised by the script analyser in event sheet script blocks
6 favourites
Autocomplete could be triggered by the up and down arrow keys, interrupting document navigation
5 favourites
New scripting examples 'Simple alert', 'Simple keyboard movement', 'Local storage' and 'Integrating events with script'
7 favourites
Autocomplete of variables and properties
4 favourites
Added runtime.assets.loadStyleSheet() method
6 favourites
Add option to create new JavaScript file in 'Files' folder (useful with loadScripts)
6 favourites
Added option to the Settings dialog to allow the font size to be changed for all text editor and inline script blocks
6 favourites
Runtime now fires pointer events for both mouse and touch input
7 favourites
Script interface for Binary Data plugin
5 favourites
Code editor now focused after adding a script
5 favourites
Possible crash calling event functions from script
2 favourites
Importing scripts could cause preview to fail
3 favourites
Added runtime.storage APIs (accesses same storage as Local Storage plugin)
2 favourites
Possible incorrect "never modified" warning when the only modifications were unary increment/decrement operators
2 favourites
Possible incorrect "cannot access before initialization" warning when accessing variables of a higher scope from a function
3 favourites
Incorrect scoping of "var" declarations in warning analysis
1 favourites
Warnings that highlight class or function declarations will now highlight the identifier instead of the whole declaration
3 favourites
New warning if declaring a "function" or "var" with the same name as another in the current scope
6 favourites
Asset APIs to load external scripts & WebAssembly modules
6 favourites
New 'Loading external script & WebAssembly' example
7 favourites
Access global variables in event sheets via runtime.globalVars
6 favourites
Access local variables in event sheets via localVars in script actions/blocks
5 favourites
runtime.setReturnValue() function to make it easier to return script values from event functions
5 favourites
Script interfaces for layouts and layers
4 favourites
Editor now validates JavaScript code in your project before preview or export, prompting you to fix syntax errors
4 favourites
Debugger CPU profiler now separately measures time spent in scripts
5 favourites
Added warnings for unused variables, use-before-initalise and assigning to constants
7 favourites
Lots of new APIs to use in scripts
3 favourites
New example category 'Scripting' on Start Page, with 'Ghost shooter code' and 'Audio scripting' examples (more to come)
7 favourites
Full code editor now used for editing code in event sheets
3 favourites
Syntax highlighting for code in event sheets
4 favourites
Error highlighting when editing code in event sheets or files
3 favourites
Updated default script file template, and is now only used for first script
3 favourites
Script files now run after the engine instead of before
2 favourites
Exporting projects using script files now works