Cocos Creator 3.0 Preview is released!

Cocos Creator 3.0 Preview is released!

After nearly half a year of hard work, the engine team brings a new version, Cocos Creator 3.0 Preview version. Cocos Creator 3.0 Preview integrates all the functions of the original 2D and 3D products, brings many major updates, and will become the main version of Cocos Creator. At the same time, Cocos Creator 3.0 Preview also continues Cocos’s advantages of being lightweight and efficient in 2D categories, and provides an efficient development experience for 3D heavy games. We will vigorously cultivate on the basis of 3.0, with a sincere attitude and dedicated spirit, steadfastly improve the product experience, and benefit all developers.

In order to ensure the smooth transition of an existing Cocos Creator 2.4 project, we will use 2.4 as the LTS (long-term support) version and provide continuous updates for the next two years! In 2021, 2.4 will continue to be updated to provide bug fixes and new mini-game platform support to ensure the successful launch of your project; in 2022, we will continue to provide developers with the key to 2.4 bug fixes to ensure the smooth operation of online games! Therefore,

  • Existing 2.x projects can continue to develop without compulsory upgrade to 3.0.

  • For new projects, it is recommended to use version 3.0 for development. We will continue to optimize the development experience and operating efficiency of 3.0 to support the smooth launch of heavy games of different categories such as 2D and 3D.

The original Cocos Creator 3D, as a branch version of Cocos Creator, has been iterated on in China for a year, and has successfully launched major projects such as Star Battle and The Strongest Magic Fighter! After Cocos Creator 3.0 Preview is released, Cocos Creator 3D will also be included in Cocos Creator 3.0 Preview, and existing 1.2 projects can be directly upgraded. Therefore, Cocos Creator 3D will not release an independent version in the future.

Although we do not recommend projects under development, especially projects that are about to go live, upgrade to 3.0, we will still launch the 2.x resource import tool in the 3.0 official version. This tool will support the perfect import of old project resources and the auxiliary import of codes. Code-assisted import will convert Javascript into Typescript, add component type declarations, attribute declarations and function declarations. The references of components in the scene will be preserved, and the code inside the function will be imported in the form of comments, which can reduce the developer’s upgrade difficulty. If an existing project needs to be upgraded for special reasons, and you encounter technical or workload difficulties, you can also contact our Community Evangelist for assistance!

This Cocos Creator 3.0 Preview version is close to the official version in terms of functionality, and can be used for new project establishment and feature pre-research. The next official version will be released around Feb 11 - Feb 17, 2021, and will further improve the performance and fix the problems at that time to ensure that everyone’s new projects can proceed smoothly.

This Cocos Creator 3.0 Preview version uses a new future-oriented engine architecture, which will bring high-performance, data-oriented and load-balanced renderers to the engine, and seamlessly support Vulkan & Metal multi-backend rendering. In the future, it will also support mobile VR/AR and some Host platform. For a detailed introduction to the Cocos Creator 3.0 Preview, please go to Official Website Update Instructions.

Powerful Editor Features

The integrated editor brings a lightweight and easy-to-use creative experience. Cocos Creator 3.0 Preview is refactored, expanded and upgraded on the editor framework that Cocos Creator 2.x has been using for many years.

  • Brand new interface design, more concise and clear.

  • The startup speed is greatly improved, and the operating experience is improved.

  • Resource system upgrade, enhanced support for super large projects, more efficient and reliable.

  • Code isolation between modules, pure message-driven, more stable.

  • The plug-in system is completely modularized to welcome a more powerful plug-in mechanism.

Construct

Cache build content

After the build, Cocos Creator 3.0 Preview will cache most of the build content, including resources, compressed textures, automatic atlas, engine code, etc. In the subsequent build, if there is no change, the cached content will be used directly to speed up the build and improve efficiency.

Task-based construction list

The build and release will be carried out in the form of build tasks, and the configuration, status, log, etc. of each build will be saved, which is convenient for switching build tasks and viewing historical configurations.

Compile and generate separately after build

The generation stage of each mini game platform is extracted, allowing to modify the content of the file after construction to regenerate rpk/cpk, and at the same time, it can support adding construction hooks before and after compilation to customize the construction process.

Support Asset Bundle

Like 2.4, Cocos Creator 3.0 Preview also uses Asset Bundle as a resource modularization tool. Developers can build textures, scripts, scenes and other resources into multiple Asset Bundles, and then load them on demand during the game running process, thereby reducing the time required to download and load the game for the first time. Asset Bundles can be placed as needed, for example, they can be placed in remote servers, local, or sub-packages of small game platforms, or they can be reused across projects to load Asset Bundles in sub-projects.

Splash Screen

You can set the Splash Screen during construction to display a cutscene before the game starts to optimize the first screen start speed.

GameView

GameView is a game running panel embedded in the editor. Developers can run the game directly in the editor without opening the browser preview. In addition to a more seamless development experience, you can also debug and modify element states in real time through the scene editor or other panels during the game running process, making game development more efficient!

Plugin

Powerful plugin system

Cocos Creator 3.0 Preview has a more powerful plug-in system. Almost all function modules of the editor are in the form of plug-ins. You can quickly create your own plug-ins in the extended menu to achieve the effects you want. In addition, Cocos Creator 3.0 Preview also provides an Extension Manager, which can easily manage the operation and uninstallation of all extension plug-ins.

extension-plugin

Message communication

Plug-ins can use IPC messages to communicate with other plug-ins or editors to quickly and easily use the capabilities provided in the editor. Cocos Creator 3.0 Preview also provides a message manager, which can clearly see the functions currently provided in the editor, reducing the threshold for plug-in development.

Animation Editor

The Animation Editor is an important module that we have been continuously optimizing. In addition to standard displacement, rotation, zoom animation and sequence frame animation, this animation system also supports driving arbitrary component attributes and user-defined attributes, plus it can be edited at will The time curve and innovative movement trajectory editing functions allow content producers to produce various dynamic effects without writing a line of code, and drive the game logic at will.

In addition to normal operations, the Cocos Creator 3.0 Preview Animation Editor also provides the following shortcut operations to help game developers achieve the desired content:

  • Batch key frame interval adjustment.

  • Copy and paste across node tracks.

  • Indirect attributes (such as material attributes) keyframe editing.

  • Directly select resources and directly edit key frame data in the Animation Editor.

  • Multi-select key frame zoom, move and delete.

  • Support multi-select nodes to add attribute tracks in batches.

  • Support copy and paste all animation data on the node.

  • Support shielding no key frame nodes and search nodes.

  • Support editing component tracks.

  • Support to adjust the layout of the animation editor.

A more complete tool chain

  • Support model preview.

    After selecting the model in the editor, you can preview the model resources in all directions, and you can also view various textures used in the default material.

  • New version of FBX Importer.

  • Support the import of glTF resources, support. khr-draco-mesh-compression, sparse accessor.

  • Support animation cutting.

  • Provide Mesh Optimizer tool.

  • Model import support quantized joints/weights.

Terrain Editor

Cocos Creator 3.0 Preview provides a convenient terrain system to quickly draw terrain textures. Terrain editing mainly includes three major functions: Manage, Sculpt, and Paint. Supports both Normal Map and PBR materials.

Built-in baking system

Baking is the process of generating light maps by pre-calculating the influence of light sources on objects and applying them to the scene, which can greatly improve the picture performance of static scenes without losing operational efficiency.

Optimize the component panel

  • Support component search and classification functions.

    Many developers have reported that they cannot search directly when adding components, and it is very difficult to find components written by themselves in large projects. Cocos Creator 3.0 Preview supports component search and can quickly add components.

  • Support drag and drop multiple resources to the array elements in the property inspector at the same time for batch assignment.

  • Support copy and paste component values.

Configuration

Visual macro configuration

A shortcut is provided to modify the engine macro configuration. The configured macro will take effect during preview and build. At the same time, the default value of the current macro configuration will be updated with the configuration of the custom engine.

Batch configuration of compressed textures via presets

Supports adding compressed texture preset configuration for quick configuration of texture compression method. After setting presets for pictures, you can also directly modify the presets to update the corresponding textures in batches, which greatly facilitates the overall management of the project.

Powerful engine features

Cocos Creator 2.4 is very powerful in 2D rendering, while Cocos Creator 3.0 Preview allows developers to make more beautiful 3D games. We have integrated the advantages of the two in 3.0, and fully support various functions of 2D and 3D.

Rendering system

As the core module of the game engine, the rendering system plays a vital role and directly determines the content that the game can output to the player. An excellent rendering system must also take into account various platforms and smooth the differences between platforms. The rendering system of Cocos Creator 3.0 Preview, from architecture to design, is aimed at future-oriented, high-performance, and cross-platform, which greatly improves rendering capabilities and robustness.

  • Supports multi-rendering backends of Metal, Vulkan, WebGL 1.0, WebGL 2.0, GLES2, GLES3.

  • Future-oriented high-performance rendering layer API design.

  • Native support for PBR.

  • Supports GPU Instancing batch optimization, suitable for drawing a large number of dynamic models with the same vertex data, and supports instancing batches for models that include skeletal animation calculations.

  • Support global fog effect.

  • Powerful native renderer, using memory sharing mechanism to reduce JSB calls and speed up data access.

  • Support ASTC, ETC, ETC2, PVR and other compressed textures.

Lights and Shadows

In the 3D world, light and shadow have always been extremely important components. They can enrich the environmental performance, and good quality shadows can achieve a fake effect, and make the whole world more three-dimensional.

  • Physically based light source.

    Cocos Creator 3.0 Preview uses optical measurement units to describe light source parameters. Based on optical measurement units, we can convert all the relevant parameters of the light source into physical values ​​in the real world. In this way, the designer can adjust the light intensity, color, range and other information according to the industrial parameters of the actual lighting and the actual physical parameters of the real environment, so that the overall lighting effect is more in line with the real natural environment.

  • Support Planar Shadow.

  • Multi-light support based on multi-pass.

  • Directional light and spotlight dynamic shadow based on Shadow Map, support PCF soft shadow and GPU Instancing.

Particle System

The particle system is the basis for the special effects of game engines. It can be used to simulate natural phenomena such as fire, smoke, water, clouds, snow, and fallen leaves, and it can also be used to simulate abstract visual effects such as luminous trajectories and speed lines. Good particle effects can make the game screen more stunning.

  • Support up to dozens of module settings, and support various types of curves and constant changes.

  • Support GPU particles, greatly improving rendering performance.

  • Support Cocos traditional 2D particles.

Material System

As a resource, material determines the rendering effect of the attached object. Almost all the rendered effects in the game are inseparable from the material. As a basic module, the material system provides a solid foundation for the superstructure.

  • Physically based materials.

  • Support Cocos Effect.

    The Cocos Effect based on YAML and GLSL designed by Cocos is a single-source embedded domain specific language(single-source embedded DSL). The YAML part declares the flow control list, and the GLSL part declares the actual Shader fragments. These two parts of content The above complement each other and together constitute a complete rendering process description.

  • Support more than 32 Effect macro definitions.

  • Cocos Effect compiler automatically removes invalid codes.

  • Support importing Effect header files.

  • Effect’s resource panel now supports previewing the compiled Shader code, and supports visual editing of each Define of Shader.

  • Support material preview.

Middleware

Animation system

Cocos Creator 3.0 Preview has built-in general animation system to realize animation based on key frame. In the editor, we can easily produce animation clip resources, such as through the animation editor, or the animation clip resources already contained in some external resources. In this case, we only need to organize these animation clips and control the playback according to our wishes.

  • CPU or GPU driven skeletal animation.

  • Supports the fusion transition of animation (CPU driven).

  • Use binary format to store skeletal animation to reduce file size.

  • Support two components: general animation and skeletal animation.

  • Support Uniform animation.

  • Support CPU-driven Morph Target (Blend Shape.

Script system

The project development of Cocos Creator 3.0 Preview has fully turned to TypeScript, and JavaScript is no longer supported in the project. Support for TypeScript has been further improved in Cocos Creator 3.0 Preview:

  • Embrace ES6 and TypeScript, complete code hints and automatic import.

  • Attributes support independent type decorator: @integer, @float, @string, @boolean, @type etc.

  • Support Async Await syntax.

  • Optional Chaining support.

  • Nullish Coalescing support.

  • Certain circular reference behaviors will be detected and warned during operation.

  • Added core-js polyfills to help some low-end platforms complete ES6 support.

  • Support loose compilation mode, which can reduce package body and optimize performance.

UI system

Cocos Creator 3.0 Preview continues the 2.x UI design and further optimizes and upgrades, including the following:

  • Flexible and concise UI components, support 20 kinds of components including Sprite, Label, Button, Widget, etc. You can use these basic components to combine various types of UI effects.

  • Support static batching.

The engine provides the UIStaticBatchComponent component. UIs that do not require frequent changes can use this component to cache rendering data, thereby reducing rendering consumption and improving performance.

Physics

Cocos Creator 3.0 Preview currently has a built-in lightweight collision detection system Builtin and a physics engine cannon.js with physical simulation, as well as a powerful bullet compiled into asm.js/WASM version ammo.js, and provides users with an efficient componentized workflow and convenient usage.

  • Support multiple physical backend options, including ammo.js, cannon.js and more lightweight builtin physical.

  • Support WeChat mini games using WASM physical backend, which can achieve higher performance on iOS.

  • Physics system supports fixed step refresh.

  • Support physical materials.

  • Supports a variety of practical collision bodies including simple shapes, cones, planes, terrain, capsules, cylinders, static mesh collision bodies, etc.

  • Support point-to-point and hinge constraint components.

  • Mesh collider adds convex hull approximation function.

  • Support traditional Creator 2D physics and collision system.

Detailed changes (compared to Creator 3D)

Editor

  • [3.0 NEW FEATURE] New FBX importer.

  • [3.0 NEW FEATURE] supports loose compilation mode when compiling.

  • [3.0 NEW FEATURE] Terrain supports normal map and pbr material.

  • [3.0 NEW FEATURE] supports EditBox in GameView mode.

  • [3.0 NEW FEATURE] supports code removal according to pre-compiled macros when compiling project scripts.

  • [3.0 NEW FEATURE] supports removing deprecated compatible codes during the build process and reducing the package body.

  • [Sync 2.x] supports simulator preview.

  • [Sync 2.x] supports publishing LianShang mini game platform.

  • [Sync 2.x] supports publishing interesting headlines game platform.

  • [Sync 2.x] supports building Android Instant.

  • [Sync 2.x] supports the new version of serialization mechanism.

  • [Sync 2.x] Asset Bundle support.

  • [Sync 2.x] supports engine module removal during preview.

  • [Sync 2.x] editor supports importing JSON resources.

  • [Sync 2.x] editor supports importing text resources.

  • [Sync 2.x] editor supports importing LabelAtlas resources.

Engine

  • [Sync 2.x] supports Tiledmap.

  • [Sync 2.x] supports Spine.

  • [Sync 2.x] supports DragonBone.

  • [Sync 2.x] supports MotionStreak.

  • [Sync 2.x] supports WebView.

  • [Sync 2.x] supports VideoPlayer.

  • [Sync 2.x] supports 2d physics and collision system, including box2d and builtin.

  • [Sync 2.x] supports Asset Manager resource management.

  • [Sync 2.x] supports LabelShadow.

  • [Sync 2.x] supports SafeArea.

  • [Sync 2.x] Mask supports image stencil.

  • [Sync 2.x] audio supports multicast.

  • [IMPROVE] remove cc.Class() style declaration.

  • [IMPROVE] Reconstruct 3d physical collision matrix. The collision matrix is ​​only used to initialize the grouping and mask of rigid bodies. It is no longer maintained and updated and the Use Collision Matrix configuration item is abolished.

  • [IMPROVE] Refactored 3d rigid body, removed RigidBody.isKinematic, added RigidBody.type to set the rigid body type, removed fixedRotation, and replaced it with angularFactor.

  • [IMPROVE] UI supports custom materials.

  • [FIX] Fix performance issues of iOS 14 and iPad OS 14.

  • [FIX] Fix the problem of Button component Scale setting abnormal.

  • [FIX] Fix the problem that the lightPassIdx of submodels are consistent and cause rendering errors.

  • [FIX] Fix the problem that the terrain collider does not match the rendering effect after the node is zoomed.

Mini Game

  • [3.0 NEW FEATURE] supports a new subdomain scheme.

  • [3.0 NEW FEATURE] supports WeChat mini games to use wasm physical backend.

Native

  • [3.0 NEW FEATURE] Support Metal rendering backend.

  • [3.0 NEW FEATURE] supports Vulkan rendering backend.

  • [IMPROVE] further reduces jsb calls and optimizes performance.

Known Issue

  • There are currently performance issues with the Vulkan backend on Android, and we will fix it in the official version.

Breaking changes

  • The built-in effects of the engine source code are uniformly changed to a different naming rule from the editor resources. If an effect is not used at all in the project scene, it will not be obtained by using the effect name in the script (such as builtin-unlit, etc.). It is recommended that when developers need to create materials programmatically, they should uniformly expose the effect asset as the property of the script, mount it in the scene, and then directly pass in material.initialize.

  • The editor HOME directory has been switched from \~/.CocosEditor3D back to \~/.CocosCreator, and the plugin directory has been renamed from packages to extensions. Plugins after 3.0 will be stored in \~/.CocosCreator/extensions and PROJECT/extensions.

  • The original subdomain plan is no longer applicable, please switch to the latest subdomain plan.

  • Does not support JavaScript, only TypeScript

  • Cc global variables are no longer supported, please use module import

API update (relative to Cocos Creator 3D)

The physical material type name has been changed:

Creator 3D v1.2 Creator v3.0
PhysicMaterial PhysicsMaterial

Some type names and method names under the geometry space have been changed:

Creator 3D v1.2 Creator v3.0
line Line
plane Plane
ray Ray
triangle Triangle
sphere Sphere
aabb AABB
obb OBB
capsule Capsule
frustum Frustum
MorphModel models.MorphModel
ray_aabb rayAABB
ray_plane rayPlane
ray_triangle rayTriangle
ray_sphere raySphere
ray_obb rayOBB
ray_capsule rayCapsule
ray_subMesh raySubMesh
ray_mesh rayMesh
ray_model rayModel
line_plane linePlane
line_triangle lineTriangle
line_aabb lineAABB
line_obb lineOBB
line_sphere lineSphere
aabb_aabb aabbWithAABB
aabb_obb aabbWithOBB
aabb_plane aabbPlane
aabb_frustum aabbFrustum
aabbFrustum_accurate aabbFrustumAccurate
obb_point obbPoint
obb_plane obbPlane
obb_frustum obbFrustum
obbFrustum_accurate obbFrustumAccurate
obb_obb obbWithOBB
obb_capsule obbCapsule
sphere_plane spherePlane
sphere_frustum sphereFrustum
sphereFrustum_accurate sphereFrustumAccurate
sphere_sphere sphereWithSphere
sphere_aabb sphereAABB
sphere_obb sphereOBB
sphere_capsule sphereCapsule
capsule_capsule capsuleWithCapsule

Some platform variables under sys have been changed:

Creator 3D v1.2 Creator v3.0
BAIDU_GAME BAIDU_MINI_GAME
VIVO_GAME VIVO_MINI_GAME
OPPO_GAME OPPO_MINI_GAME
HUAWEI_GAME HUAWEI_QUICK_GAME
XIAOMI_GAME XIAOMI_QUICK_GAME
JKW_GAME COCOSPLAY
ALIPAY_GAME ALIPAY_MINI_GAME
BYTEDANCE_GAME BYTEDANCE_MINI_GAME

Features not currently supported in the preview version

The following features will be added in the official version:

  • The HUAWEI AGC platform is not currently supported.

  • Cocos Services is not supported temporarily, it will be added in the official version.

  • Does not support dynamic combination of pictures.

  • Prefab nesting is not currently supported.

  • Wechat engine plugin is not currently supported.

  • Android does not currently support the release of x86_64 architecture.

  • The native platform does not currently support freetype for text rendering.

  • The editor does not currently support resource package import and export functions.

  • The editor has not yet implemented the Huawei Quick Game debugging tool.

  • Button component does not support enable auto gray effect.

Installation method

  • If Cocos Dashboard is not installed, please go to the official website and click Download Dashboard.

  • Open Cocos Dashboard, click Download in the editor column, and click the download button on the right side of the latest Cocos Creator 3.0.0-preview.

Reference documentation

Conclusion

Powerful and easy-to-use editing functions, easy-to-use and streamlined editing functions, perfect platform support, png, and full-featured, convenient and easy-to-use editing functions, making Cocos Creator 3.0 Preview the first choice for more and more developers to develop games. We will continue to improve features and platform services to help developers enter the game market more easily and develop successful games at lower costs.

If you encounter problems or issues, please feel free to submit feedback to us via our official forums.

In addition, if you plan to use Cocos Creator 3.0 Preview to establish a project to develop a native heavy game, please e-mail with our Product Manager. You will have the opportunity to receive official exchanges and answers, project establishment assistance, engine customization and other services.

12 Likes

There is an issue for new Dashboard users on windows. It’s being fixed. Let us know if you have install troubles.

Ok. Issue with windows download has been resolved. Thank you and enjoy!!

1 Like

Hi @slackmoehrle,

this looks great. I would like to start testing. Most of the scripting links are not working here:

When will they work?

Thanks

Mike

@MikeFromMars. Weird. Let me go take a look.

Edit: It seems urls were wrong. GitHub PR

Our docs are build and deployed daily. It should be fixed within 24 hours.

For now you can browse here

1 Like

@MikeFromMars The link to the documentation for Cocos Creator 3.0 is this: https://docs.cocos.com/creator/3.0/manual/en/scripting/

And only the document “Attribute Parameter Reference” are not working, it will be translated as soon as possible.

1 Like

jsb module not found

how to call android, ios native method

Thanks for what you are doing! I waited 1.5 months and it’s great! Can I get your support in teaching people this engine?

What Happened to Exporting For Facebook Instant Games in this version ?

1 Like

Sorry, FBIG has been removed in 3.0. You can just publish to web directly, and change the html file to adapt it.

Sorry, what did you mean when you said ‘jsb module not found’? I tested in simulator, looks like it’s allright .

load bundle excreption, cash app

can’t open simulator

crash app when load bundle from url (empty data)

Is there a full log?

log.zip (115.9 KB)

how to use build-templates android & ios

jsn.AssetManager download throw excreption crash app (when domain not exist - log2.zip (7.7 KB) error 404)