Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r155

Timeline updates; engine updates; bug fixes

20 June, 2019 ()

Email Me New Releases

Don't miss out on the latest and greatest new features in Construct 3

Create an Account


As we approach a stable release we're slightly speeding up the release cycle to make sure any last bugs are flushed out so we can be confident about the next stable release. So we have an extra release for you this week!

Most of the additions in this release are for timelines. There are more playback controls like looping and ping-pong. You can now also tag master keyframes, which fire triggers when playback reaches them, providing a convenient way to synchronise events with timelines.

The runtime now also uses the new Pointer Events API for mouse input on platforms that support it. This provides more precise cursor positions, since mouse events round the cursor position, but pointer events allow for fractional positions. Browsers are also developing lower-latency features for Pointer Events, so this will make it possible to have lower latency mouse input in future. Pointer events are now also exposed for scripting, covering both mouse and touch input.

Finally we have a batch of bug fixes and a memory optimisation that helps boost some of Construct's performance benchmarks. Since we're moving towards a stable release, if there are any issues you want looked at before then, please make sure they're reported to the issue tracker following all the guidelines.

Like this Release?

Let us know with a thumbs up!

Launch r155

New Additions

17 favourites
Timelines: Tags for master keyframes, and triggers for when playback reaches them
11 favourites
Timelines: 'TimelineName' and 'KeyframeTags' expressions for use in triggers
8 favourites
Timelines: Action to set playback rate of a timeline
9 favourites
Timelines: Added 'Loop', 'Ping Pong' and 'Repeat count' properties (which work similarly to Sprite animations)
5 favourites
Google Play: added 'On sign in failed' trigger, fired when a user cancels sign in or it fails


7 favourites
Updated runtime to use Pointer Events API for mouse input
6 favourites
Timelines: Setting the time now pauses a timeline at the new position, instead of completing the timeline at the new position

Bug Fixes

1 favourites
Could not export C2 runtime projects (regression in r153)
5 favourites
Audio: rare case where 'Is playing' state not immediately updated
2 favourites
Modal dialogs did not always cause all open windows to dim
1 favourites
Event sheet view: editing comment/group colors did not set the right default color when using themes
5 favourites
Platform: could handle wall collisions incorrectly when mirrored
2 favourites
Desktop: restarting debugger did not always close pop-out window
2 favourites
Possible crash deleting object type while placing it

Performance Improvements

17 favourites
Reduce memory use of instances (improves quadissueperf benchmark)

Scripting updates

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

Share Construct 3 Release r155 Now


  • Order by
Want to leave a comment? Login or Register an account!
  • If i understand correctly, that's kind of the Flash/Director (if anyone remembers that) thing where you can attach scripts to keyframes, right?

    EDIT: And as always: THANK YOU!!!

  • Maybe not the best place to ask the question, but it felt like a simple thing to post on the forums: I can't find a multi-line input field in the current version of C3!

    I remember having one on C2, is there a reason why it was left out? Is it a bug?

    In any case, REALLY cool to see the timeline taking shape! I might get the subscription next quarter to build some quirky stuff!

  • а как ползоватся скриптом? я не знаю.


    and how a script? I do not know.

  • same as rhg1968 I am also getting a crash with

    Uncaught (in promise) TypeError: Cannot read property 'Apply' of null very early into my game.

  • There appears to be some issue in R155. Everything works in R154 but when I run in R155 I get the following error: Uncaught (in promise) TypeError: Cannot read property 'Apply' of null

    at C3.Layer._DrawInstance (layer.js:1)

    at C3.Layer._DrawInstances (layer.js:1)

    at C3.Layer.Draw (layer.js:1)

    at C3.Layout.Draw (layout.js:1)

    at C3.Runtime.Render (runtime.js:1)

    at C3.Runtime.Tick (runtime.js:1)

  • I'm trying to find the new timeline tag feature stuff but can't locate it anywhere. How do I use them?

      • [-] [+]
      • 1
      • DiegoM's avatar
      • DiegoM
      • Construct Team Construct 3 Developer
      • 1 points
      • *
      • (4 children)

      This hasn't been documented yet. The documentation for the new bits of the timeline will be available on the next stable release.

      In the mean time, you can set a list of space separated tags on a master keyframe by selecting it in the Timeline Bar and then changing the property in the Properties Bar.

      To later use the tags in an event sheet, look for a few new conditions in the timeline plugin dealing with reaching keyframes, should be easy to spot them.

      • Would it be possible to add a parameter to the timeline action "Set time By Name" to include a "tag field" or a new action that is "set time by tag" so that we could jump to a specific tagged keyframe in the timeline?

      • Thanks Diego, I was looking for some button or something that would label a keyframe, or a special type of keyframe that i could move around with a tag in the timeline window to set where i wanted it to go. Its interesting that it's only tied to a master keyframe because if you want to put a tag somewhere in between two other keyframes it appears you need to set a redundant keyframe on one of the other properties of the object in order to create a master keyframe.

        Load more comments (2 replies)
  • "Reduce memory use of instances (improves quadissueperf benchmark)" - can i get some info that point?

    I tried to google it, but in vain.

    • quadissueperf is some kind of performance test where you create tons of instance until the limit of your computer's ability, the number of instances you get in the end is the result

      • [-] [+]
      • 2
      • Ashley's avatar
      • Ashley
      • Construct Team Founder
      • 2 points
      • (3 children)

      What information are you looking for?

      • Core info I'd love to get - is how this technical process (i can't even spell it) improves my game?

        In short - i would really appreciate that line being re-worded for not-so-tech people (as myself). Like previous result was 1000 objects on a layout, now it is 1100 objects.

        Load more comments (2 replies)