Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r144

Bezier curve paths; convert functions; User Media recording; loads of bug fixes

08 April, 2019 ()

Email Me New Releases

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

Create an Account


It's another big update this week! Here's a few of the highlights in this release:

• You can now add Bezier curves to timeline paths when editing a position timeline in the Layout View.

• The Game Recorder object can now make User Media recordings - so you can for example download a video recorded by the user's camera. See the updated 'Camera input' example for a demonstration.

• We made some big changes in the last releases including introducing major new features. These naturally take time to get right, and in this release we have lots of bug fixes to ensure things like the new functions feature are working smoothly.

There's also an experimental option to automatically convert old functions to the new built-in functions. However this is currently experimental. It is very complicated and makes far-reaching changes to your project (and can't be undone), so please back up your project before using it. Do let us know if you run in to issues so we can ensure it works as well as possible. Note however that because the new built-in functions feature works differently (and many of its benefits come from these changes), it's not always possible to convert old functions to new ones. For example if you do things like retrieve dynamic parameter indices, or pass parameters as both strings and numbers, the function cannot be converted and Construct will tell you why. In this case you can use Find all references to get a list of everywhere the function is used in your project which you can then review if you want to do a manual conversion. Anyway if you want to try automatic conversion, right-click on an On function condition from the old Function plugin and select Replace with built-in function.

The old Function plugin is also now deprecated in favor of the new built-in functions feature. Although the new system has some differences, overall it's much better designed, easier to use and faster, and we don't want old legacy features hanging around confusing new users and requiring additional maintenance. So the Function plugin is now hidden to new projects. Existing projects can continue using it, but no new features will be added to it.

Finally the translation terms for the new Timeline feature are now on POEditor, so it will start to appear translated for non-English users in the coming releases. If you'd like to help with translations see the forum thread How to help translate Construct 3.

Like this Release?

Let us know with a thumbs up!

Launch r144

New Features

13 favourites
Timelines: add cubic Bezier curves between path points

New Additions

11 favourites
Experimental option to automatically convert old functions to new built-in functions
5 favourites
Game Recorder: 'Start User Media recording' action, to record the user's camera or microphone from a User Media object
4 favourites
User Media: 'Include microphone' option for 'Request camera' action, so recordings can include audio


6 favourites
The old Function plugin is now deprecated in the C3 runtime in favor of the new functions feature
6 favourites
Remove temporary blue styling of function blocks
2 favourites
Updated 'Camera input' example to include recording a video with Game Recorder
1 favourites
Improved handling of potentially corrupted browser saves

Bug Fixes

9 favourites
New functions: not working when used in group or as sub-event
2 favourites
New functions: crash searching for references by text
3 favourites
New functions: could pass parameters with object expressions from wrong instances
1 favourites
New functions: crash adding a string parameter with existing calls
2 favourites
'Wait' did not work correctly in new functions
2 favourites
Crash pasting events with a function parameter selected
5 favourites
Crash duplicating layout (regression in r143)
1 favourites
Saving to browser storage not working (regression in r143)
1 favourites
Expressions Dictionary: crash when looking for expressions of objects with instance variables
2 favourites
Unable to Control+Drag events using local variables in sub-events
2 favourites
Tile movement: 'Set ignoring input' action not working
1 favourites
Line of Sight: rays could sometimes miss object corners due to floating precision errors
2 favourites
Timeline Bar: Crash when adding instances with behavior or effect properties that can not be interpolated
1 favourites
Timeline Bar: Crash when adding any instance with a color plugin property
2 favourites
Timeline Bar: Crash loading projects with timelines including property track folders
1 favourites
Timeline Bar: Crash when closing a project while editing mode is active
1 favourites
Timeline Bar: Crash when changing the enable state of keyframes
1 favourites
Properties Bar: Incorrect highlighting of behavior properties that can not be animated with a timeline (Sine, Orbit)
2 favourites
Z Order Bar: possible crash when undoing changes
2 favourites
Z Order Bar: layer items don't rebuild properly after the corresponding layer is moved in the Layers Bar
2 favourites
Animations editor: in some cases allowed saving animations with duplicate names
1 favourites
Dictionary editor: now preserves order of keys (note this is editor only, order at runtime is not guaranteed)
1 favourites
Data editors: column and row sizes not preserved in duplicates of array and dictionary files
1 favourites
Form controls: could sometimes still appear when 'Initially visible' off
2 favourites
Advanced Random plugin not working in Safari
2 favourites
Recent projects can sometimes show duplicate entries in Edge (regression in r138)

Share Construct 3 Release r144 Now


  • Order by
Want to leave a comment? Login or Register an account!
  • AWESOME! Thank you!

  • Nice, thank you for the update. But, for me, the biggest problem is, i can't add keyframes at runtime. And i missing the feature to get the position from percent like this:

    getPathPositionX(0.3); // Get the current x position from 30% of the path

    getPathPositionY(0.3); // Get the current y position from 30% of the path

  • Will it be possible to allow 3rd party addons to let the timeline animate some of its params?

      • [-] [+]
      • DiegoM's avatar
      • DiegoM
      • Construct Team Construct 3 Developer
      • 2 points
      • (0 children)

      3rd party addons will have to do the same thing that built in addons are already doing, it's the same API. Unfortunately each developer needs to implement this individually because there is no way of knowing how a behavior or plugin should handle updates to their inner properties at runtime.

      None of the details on how to update an addon had been made public yet, because the feature is still under development.

  • Ashley: I can confirm, that in my project that contains 10+ functions (used across multiple event sheets, some recursive), function conversion feature worked without a glitch.

    Congratulations! Great job!

  • Congratulations, they're doing a great job, the worldwide trend of all game and application builder companies, realize there's a great potential in bringing developers to you, and channeling in a way, like a cog to others, billions of dollars will be generated, I say conquering users, which is something done sometimes without spending a penny, you are doing it maybe without realizing it, so are smartly doing what big companies spend millions in advertisement and do not get result continue are on the way.

  • For once, I'm not very happy with this update because you can't use the old functions feature with new projects. How am I supposed to do transitions? With the old functions feature: On function(transition) - parameter 0 = in: fade in - parameter 0 = out: fade out. How would I do this with the new one?

    • Have you tried the feature to automatically convert old functions to new builtin functions? It should do it for you. The fact old functions aren't available to new projects doesn't affect your ability to transition to the new built-in functions, because old projects can keep using old functions.

      • That actually worked pretty well, thank you. I guess I just need to learn the new functions better. As we all know, changes can sometimes be difficult to adjust to. :)

  • Hello! Could you implement google play plugin multiplayer game? It is possible to search for an opponent for the game 1vs1 between players on android platform.

  • Hey, awesome update again.

    When finding reference for one of the new functions, the search doesn't show any details or parameters used, which is confusing since you have to check each functions.

    Also will dynamic parameters be available at any point in time, I am really counting on those!


  • Will the game recorder allow us access to the individual video frames?

    In particular, I would like to split up a 2-second user video recording into 60 frames, and be able to put them into a sprite animation so that a user could review one frame at a time. Is this possible?

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

      This is more of a video-editing feature and is not something the Game Recorder object is designed to cover. You could try loading the resulting video in to the Video object and play/pause it though.