Overview

Galacean Engine is a web-first, mobile-first, open-source real-time interactive solution, built with a component-based architecture and written in Typescript. It includes features such as Rendering, Physics, Animation, Interaction, and XR. It also provides a comprehensive visual online editor with a complete workflow to help you create stunning 2D/3D interactive applications in the browser. It mainly consists of two parts:

  • Editor: An online web interactive creation platform Editor
  • Runtime: A web-first, mobile-first high-performance interactive runtime Runtime, rich non-core features and business logic customization features Toolkit, and a series of secondary ecosystem packages.

Editor

Galacean Editor is an online web interactive creation platform. It helps you quickly create, edit, and export an interactive project. You can quickly upload assets, edit materials, adjust lighting, and create entities through the Galacean Editor to create complex scenes.

The overall process of creating an interactive project using the editor:

The editor allows better collaboration between technical and artistic team members. You can quickly start the development of your first project through business templates on the editor homepage.

Runtime

Core functionalities are provided by Galacean Runtime, while advanced non-core and business logic customization features are provided by Galacean Toolkit. You can browse various engine examples online through the browser.

Core Packages

Includes the following sub-packages:

PackageDescriptionRelated Documentation
@galacean/engineCore architecture logic and core functionalitiesAPI
@galacean/engine-physics-liteLightweight physics engineDoc
@galacean/engine-physics-physxFull-featured physics engineDoc
@galacean/engine-shaderlabGalacean Shader compilerDoc
@galacean/engine-xrXR logic packageDoc
@galacean/engine-xr-webxrWebXR backendDoc

You can install it via NPM:

npm install --save @galacean/engine

Then import and use it in your project:

import { WebGLEngine, Camera } from "@galacean/engine";

Toolkit

Non-core functionalities and business logic customization features are provided by the galacean-toolkit package (for a complete list of features, please check engine-toolkit):

In the same project, please ensure that the core engine package version is consistent and the major version of the toolkit is consistent. For example, with version 1.3.x of the engine, you need to use version 1.3.y of the toolkit.

Secondary Ecosystem Packages

There are also some secondary ecosystem packages, which are introduced and used in the same way as the engine toolkit:

PackageDescriptionAPI
@galacean/engine-spineSpine AnimationDoc
@galacean/engine-lottieLottie AnimationDoc

For version dependencies of secondary ecosystem packages, please refer to the corresponding documentation.

Click to learn more about Galacean's version management

Compatibility

Galacean Runtime runs in environments that support WebGL. So far, all major mobile and desktop browsers support this standard. You can check the compatibility of the runtime environment on CanIUse.

For some functional modules that require additional compatibility considerations, the current adaptation solutions are as follows:

ModuleCompatibility ConsiderationsSpecific Documentation
Mouse and TouchPointerEventFor compatibility, please refer to polyfill-pointer-event
PhysXWebAssemblyIn environments that do not support WebAssembly, it will degrade to the JS version, with slightly lower performance and performance compared to the WebAssembly version

Open Source Collaboration

Galacean is eager to collaborate with you to build an interactive engine. All development processes, including planning, milestones, and architecture design, are publicly available in GitHub's project management. You can participate in the construction of the engine by creating an issue and submitting a PR. If you have any questions or need help, you can join the DingTalk group or seek help in the discussion area.

Was this page helpful?