# timi-liuliang/echo

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/timi-liuliang-echo).**

983 stars · 120 forks · C++ · MIT

## Links

- GitHub: https://github.com/timi-liuliang/echo
- awesome-repositories: https://awesome-repositories.com/repository/timi-liuliang-echo.md

## Topics

`2d-game-engine` `3d-game-engine` `digital-twin` `echo` `gltf2` `live2d` `lua` `mit-scratch` `navigation` `pbr-shading` `physics-simulation` `qt` `rtx` `spine` `spir-v` `tensorflow` `tensorlfow` `vulkan`

## Description

Echo is a cross-platform game engine designed for the development of two-dimensional and three-dimensional interactive projects. It provides a unified environment that integrates scene management, visual scripting, and graphics rendering into a single workflow, allowing developers to build and deploy applications across desktop, mobile, and web platforms.

The engine distinguishes itself through a node-based architecture that governs both scene organization and game logic. By utilizing a visual scripting tool and a data-flow shader graph, users can define complex behaviors and custom materials that are compiled into efficient machine code at runtime. This approach is complemented by a property-based reactive binding system, which automatically synchronizes values across the scene hierarchy to maintain consistency during execution.

The platform includes a customizable rendering pipeline that supports industry-standard techniques such as physically based rendering and ray tracing. To ensure performance and portability, the engine features a modular compilation system that strips unused functionality during the build process, minimizing the final application footprint. Projects are managed through a unified tree structure that handles entities, components, and prefabs, while a visual timeline interface allows for the sequencing of object properties and logic triggers.

## Tags

### Game Development

- [Multi-Dimensional Game Creation](https://awesome-repositories.com/f/game-development/game-engines-frameworks/2d-engines/2d-game-frameworks/multi-dimensional-game-creation.md) — Serves as a cross-platform engine for developing both 2D and 3D interactive projects with visual scripting and modular optimization.
- [Cross-Platform Game Clients](https://awesome-repositories.com/f/game-development/cross-platform-game-clients.md) — Provides a unified environment for building and deploying interactive 2D and 3D games across desktop, mobile, and web platforms.
- [Scene Graphs](https://awesome-repositories.com/f/game-development/engine-architecture/scene-graphs.md) — Organizes game objects and logic into a unified tree structure for scene management.
- [Game Logic Scripting](https://awesome-repositories.com/f/game-development/game-logic-scripting.md) — Provides systems for defining custom interactive behaviors and application logic through scripting. ([source](https://github.com/timi-liuliang/echo#readme))
- [Scene Hierarchy Structuring](https://awesome-repositories.com/f/game-development/scene-hierarchy-structuring.md) — Organizes game objects and logic using a unified node-based tree structure. ([source](https://github.com/timi-liuliang/echo#readme))
- [Reactive Property Bindings](https://awesome-repositories.com/f/game-development/reactive-property-bindings.md) — Synchronize values between different nodes automatically so that changes in one property propagate to dependent properties across the entire scene structure. ([source](https://github.com/timi-liuliang/echo#readme))

### Development Tools & Productivity

- [Visual Scripting Systems](https://awesome-repositories.com/f/development-tools-productivity/visual-development-environments/visual-scripting-systems.md) — Enables defining game logic and object behaviors through a node-based interface that compiles into efficient machine code.
- [Cross-Platform Build Systems](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-systems.md) — Automates the compilation and packaging of software for multiple target operating systems.
- [Build Optimization Modules](https://awesome-repositories.com/f/development-tools-productivity/modular-messaging-engines/build-optimization-modules.md) — Reduces final application file size and improves runtime performance by selecting only the necessary engine modules during compilation.

### Graphics & Multimedia

- [Customizable Render Pass Pipelines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/post-processing-pipelines/multi-pass-rendering-pipelines/customizable-render-pass-pipelines.md) — Implements a customizable rendering pipeline supporting physically based rendering and ray tracing across multiple platforms. ([source](https://github.com/timi-liuliang/echo#readme))
- [Scene Management Systems](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems.md) — Organizes game objects and properties into a unified tree structure that simplifies entity and component management.
- [Visual Shader Graphs](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/visual-effects/visual-effect-shaders/glsl-shader-workflows/shader-programming/visual-shader-graphs.md) — Provides a visual node-based interface for constructing custom shader programs.
- [Real-Time 3D Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/real-time-neural-renderers/real-time-3d-rendering-engines.md) — Supports industry-standard rendering techniques including physically based rendering and ray tracing for high-fidelity visual output.
- [Custom Shader Programming](https://awesome-repositories.com/f/graphics-multimedia/custom-shader-programming.md) — Provides a data-flow editor for creating complex custom materials and visual effects without writing raw shader code.
- [Visual Pipeline Graphs](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/rendering-pipelines/visual-pipeline-graphs.md) — Defines custom frame rendering sequences by connecting modular pipeline stages into a configurable data-flow graph.
- [Graphics Rendering APIs](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis.md) — Provides high-performance graphics interfaces for physically based rendering and real-time ray tracing. ([source](https://github.com/timi-liuliang/echo#readme))
- [High Performance Rendering](https://awesome-repositories.com/f/graphics-multimedia/high-performance-rendering.md) — Implements modern industry standards including physically based rendering and ray tracing. ([source](https://github.com/timi-liuliang/echo/blob/master/README.md))

### Part of an Awesome List

- [Visual and Shader Tools](https://awesome-repositories.com/f/awesome-lists/devtools/visual-and-shader-tools.md) — Provides a visual editor for constructing complex shader programs without writing raw code. ([source](https://github.com/timi-liuliang/echo/blob/master/README.md))

### DevOps & Infrastructure

- [Cross-Platform Deployment Targets](https://awesome-repositories.com/f/devops-infrastructure/cross-platform-deployment-targets.md) — Supports compiling and running projects on multiple operating systems and web environments. ([source](https://github.com/timi-liuliang/echo#readme))

### Programming Languages & Runtimes

- [Just-In-Time Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/execution-engines/just-in-time-compilers.md) — Translates high-level game logic into optimized machine instructions at runtime to improve performance.

### Software Engineering & Architecture

- [Property Reactivity](https://awesome-repositories.com/f/software-engineering-architecture/change-tracking-systems/property-reactivity.md) — Synchronizes values across the scene hierarchy by automatically propagating changes from source nodes to dependent properties.
- [Modular Compilation Systems](https://awesome-repositories.com/f/software-engineering-architecture/code-execution-engines/engine-compilation/modular-compilation-systems.md) — Strips unused engine functionality during the build process to minimize final binary size.

### User Interface & Experience

- [Arbitrary Property Animators](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-properties/pixijs-property-animators/configurable-property-animators/arbitrary-property-animators.md) — Provides utilities for animating any object attribute or property using a visual timeline interface. ([source](https://github.com/timi-liuliang/echo#readme))
- [Animation Sequencing](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/animation-transition-engines/transition-effects/animation-sequencing.md) — Allows sequencing of object properties and logic triggers over time using a visual timeline interface.
