Back in April we first released an alpha of a brand-new runtime for Construct. This has been completely rewritten from the ground up and brings huge performance improvements and major new features to your games!
Initially this was an alpha-quality feature for testing and you had to enable a special setting to try it. However over the past few months we've been working hard to finish all the features and fix any issues that came up in testing, including dealing with around 80 issues reported by testers. The new runtime is now feature-complete, and robust and compatible enough to run real-world games. Accordingly we feel it's ready to advance from "alpha" to "beta" stage. So as of the latest stable release r120, the new runtime is now available by default! Since we think it's ready for a broader audience you don't need to change any settings any more - you can simply opt-in to using the new runtime by changing a setting, and we encourage you to try it out.
How to try the new runtime
You can switch your project to using the new runtime with the following steps:
- Click the project name in the Project Bar to display project properties.
- Scroll down to the Advanced section and expand it.
- In the Runtime property, click the dropdown and select Construct 3.
If your project uses anything that isn't supported by the new C3 runtime, such as a third-party addon that has not been ported yet, you'll be notified when you try to change the setting and you won't be able to use the new runtime yet. However if everything is supported, you can switch back and forth between the runtimes at will - so you can easily switch back if anything isn't working right.
Once you're using the new runtime, some new features will appear in the editor which you can try out. Note that if you start using these in your project you won't be able to switch back to the old runtime unless you first remove them.
If you run in to any new problems with the C3 runtime, please file a bug to let us know about it, and try to follow the bug report guidelines to make sure we can help!
New features in the C3 runtime
We've done loads of work to make the new runtime faster and more powerful, with new features, and a better codebase that is easier for us to maintain. Here's a list of everything new, including links to our prior blogs on some features:
- Massive performance improvements, including much faster events, a new expression compiler (later optimised further), lower engine overhead, faster effects, faster tilemap rendering, faster startup and layout switching, faster pathfinding and WebAssembly-powered physics
- Use BBcode to style Text and SpriteFont objects including typewriter text and other text animations
- A new Color filter property for most objects, providing a high-performance built-in tint effect
- A brand-new debugger for the new runtime, with a new GPU profiler, better CPU profiler, screenshot tool, support for breakpoints in loops and triggers, and local variables and loop inspectors
- A range of new plugins including Platform Info, Game Recorder, Speech Synthesis and Speech Recognition
- Reduced memory usage for large projects, and new features to control memory management from events
- A significantly modernised codebase built for the modern web platform with an improved architecture, making it easier to maintain and add new features, also sharing much code with the editor for easier development
- Many other improvements including a new viewport-stable Lens2 effect, rotatable 9-patch, audio latency setting, and more
And we're just getting started! We have many more features in the works for the new C3 runtime.
Next steps
We'd like you to try the new runtime and see how it works for your projects! Currently everything will remain using the old runtime (the C2 runtime) unless you opt-in to the new runtime by changing the project Runtime property. However we intend to make the new runtime the default in the near future. So you can get a head-start on this change by switching over now.
In the long-term we'd like to eventually deprecate the old runtime, especially since we are a small team with limited resources. Maintaining multiple codebases takes up a lot of development time which slows down things like building exciting new features that lots of people want. However we're aware that many users have big projects that may not be able to switch over to the new runtime for reasons out of their control, such as relying on third-party addons only available for the C2 runtime. So we will keep maintaining the old runtime, but mainly with bug fixes only - all new feature work will only be done for the new C3 runtime. This is another reason to switch over if you can!
We won't switch existing projects over to the C3 runtime automatically, since this might break them. However later down the line when the new runtime is more mature, Construct might start showing prompts to switch to the new runtime if your project is compatible. Ideally we can have as many users as possible using the new runtime so they can get the benefits, and reduce the maintenance work that needs to be done on the old runtime.
Conclusion
The new runtime is a major milestone in the development of Construct. It leaps ahead in performance and already has significant new features - and we're just getting started! We have plenty more on the way, so keep an eye out for future updates.
Our main task from now on is to fix any last bugs and then start switching as many projects as possible over to the new runtime. So give it a go today!