# cocos2d/cocos2d-x

**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/cocos2d-cocos2d-x).**

18,942 stars · 7,088 forks · C++

## Links

- GitHub: https://github.com/cocos2d/cocos2d-x
- Homepage: https://www.cocos.com/en/cocos2d-x
- awesome-repositories: https://awesome-repositories.com/repository/cocos2d-cocos2d-x.md

## Topics

`android` `c-plus-plus` `cocos2d` `cocos2d-x` `game-development` `game-engine` `gamedev` `ios` `linx` `lua` `metal` `windows`

## Description

Cocos2d-x is a high-performance C++ game development framework designed for building and deploying interactive applications across mobile, desktop, and web platforms. It functions as a cross-platform game engine that utilizes an entity-component system to manage object lifecycles, behaviors, and spatial relationships within a unified codebase.

The engine is distinguished by its specialized 2D graphics rendering pipeline, which is optimized for hardware-accelerated performance when displaying sprites, particle effects, and skeletal animations. It provides developers with low-level access to graphics, physics, and memory management, allowing for extensive customization of the build process, resource loading pipelines, and engine configuration to meet specific project requirements.

Beyond its core rendering capabilities, the framework includes a comprehensive suite of tools for interactive scene composition, physics and collision simulation, and responsive user interface design. It supports advanced visual effects through a shader-driven material system, including physically based shading, and manages complex asset lifecycles through reference-counted memory tracking and remote content updates.

The project provides a complete environment for cross-platform publishing, enabling developers to export projects to multiple operating systems from a single source.

## Tags

### Development Tools & Productivity

- [Cross-Platform Build Pipelines](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-pipelines.md) — Exports completed projects to multiple mobile and desktop operating systems from a single codebase. ([source](https://docs.cocos.com/creator/manual/en/))
- [Asset Management](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-package-managers/asset-management.md) — Fetches and manages external resources dynamically during application execution to optimize memory usage and handle dependencies. ([source](https://docs.cocos.com/creator/manual/en/asset/))
- [User Preference Persistence](https://awesome-repositories.com/f/development-tools-productivity/user-preference-persistence.md) — Saves local application state and user preferences to persistent storage so that progress and settings remain available across sessions. ([source](https://docs.cocos.com/creator/manual/en/advanced-topics/))
- [Editor Tooling](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-tooling.md) — Enables developers to build custom panels and tools within the development environment. ([source](https://docs.cocos.com/creator/manual/en/editor/extension/readme.html))
- [Engine Configuration Systems](https://awesome-repositories.com/f/development-tools-productivity/configuration-engines/engine-configuration-systems.md) — Allows modification of core source code and build configurations to meet specific project requirements. ([source](https://docs.cocos.com/creator/manual/en/advanced-topics/))

### Game Development

- [Scene Graphs](https://awesome-repositories.com/f/game-development/engine-architecture/scene-graphs.md) — Assembles visual elements and game logic through a graphical interface to create playable content. ([source](https://docs.cocos.com/creator/manual/en/getting-started/))
- [Cross-Platform Engines](https://awesome-repositories.com/f/game-development/game-engines-frameworks/cross-platform-engines.md) — Framework for building and deploying interactive applications across mobile, desktop, and web platforms.
- [2D](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/2d.md) — Specialized engine optimized for 2D sprite-based rendering and hardware-accelerated performance.
- [Game Development Engines](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/game-development-engines.md) — High-performance C++ framework providing low-level access to graphics, physics, and memory management.
- [Entity Component Systems](https://awesome-repositories.com/f/game-development/engine-architecture/entity-component-systems.md) — Implements game behavior using an entity-component-system architecture for managing object lifecycles. ([source](https://docs.cocos.com/creator/manual/en/guide/unity/))
- [Asset Lifecycle Management](https://awesome-repositories.com/f/game-development/asset-lifecycle-management.md) — Tracks resource usage with reference counting to automatically free up memory when files are no longer needed. ([source](https://docs.cocos.com/creator/manual/en/asset/asset-manager.html))
- [Physics Engines](https://awesome-repositories.com/f/game-development/physics-engines.md) — Calculates collisions, rigid body dynamics, and trigger events for 2D and 3D objects. ([source](https://docs.cocos.com/creator/manual/en/))
- [Collision Detection](https://awesome-repositories.com/f/game-development/physics-engines/collision-detection.md) — Calculates rigid body dynamics and collision interactions to drive gameplay mechanics.
- [Physical Material Properties](https://awesome-repositories.com/f/game-development/physical-material-properties.md) — The engine assigns physical characteristics like friction and bounciness to objects to influence how they behave when colliding with other surfaces in the scene. ([source](https://docs.cocos.com/creator/manual/en/physics/))

### Graphics & Multimedia

- [Graphics Engines and Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering.md) — Provides a specialized 2D graphics rendering pipeline optimized for hardware-accelerated performance.
- [Custom Shader Programs](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/materials-shading/custom-shader-programs.md) — Applies programmable graphics programs to object surfaces to control lighting, textures, and transparency.
- [Skeletal Animation Systems](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/keyframe-skeletal-systems/skeletal-animation-systems.md) — Manages complex character motion using state machines, pose graphs, and inverse kinematics for skeletal animation. ([source](https://docs.cocos.com/creator/manual/en/cases-and-tutorials/))
- [Particle Systems](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/particle-systems.md) — Generates particle-based animations to represent natural phenomena and abstract visual effects. ([source](https://docs.cocos.com/creator/manual/en/particle-system/))
- [Keyframe Animations](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/keyframe-skeletal-systems/keyframe-animations.md) — Generates motion by calculating intermediate states between defined keyframes for interactive objects. ([source](https://docs.cocos.com/creator/manual/en/))
- [Audio Playback](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback.md) — Plays music and sound effects through dedicated components that control audio sources within the application. ([source](https://docs.cocos.com/creator/manual/en/guide/unity/))
- [Custom Material Definitions](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/materials-shading/custom-material-definitions.md) — Modifies visual appearance by assigning custom shaders and material properties. ([source](https://docs.cocos.com/creator/manual/en/2d-object/2d-render/))
- [Physically Based Rendering Materials](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/materials-shading/physically-based-rendering-materials.md) — Renders surfaces using physically based shading to simulate realistic textures. ([source](https://docs.cocos.com/creator/manual/en/cases-and-tutorials/))
- [Depth Sorting](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/interactive-scene-management-layers/depth-sorting.md) — The engine determines the visual layering of objects by calculating their depth and priority to ensure correct overlapping in the scene. ([source](https://docs.cocos.com/creator/manual/en/2d-object/2d-render/))
- [Terrain Sculpting Tools](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/3d-math-and-geometry-toolkits/terrain-sculpting-tools.md) — Manipulates terrain mesh geometry using brush-based tools to create mountains, valleys, and basins. ([source](https://docs.cocos.com/creator/manual/en/editor/terrain/))
- [Post-Processing Pipelines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/post-processing-pipelines.md) — Enables post-processing effects by integrating custom render pipelines to manage visual output and image enhancement. ([source](https://docs.cocos.com/creator/manual/en/cases-and-tutorials/))
- [Scene Visibility Controllers](https://awesome-repositories.com/f/graphics-multimedia/scene-visibility-controllers.md) — Positions cameras and applies skyboxes or fog to determine the perspective and atmospheric depth of the rendered output. ([source](https://docs.cocos.com/creator/manual/en/module-map/graphics.html))

### Software Engineering & Architecture

- [Entity Behavior Modules](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations/object-oriented-programming/behavior-customization/entity-behavior-modules.md) — Extends base objects by attaching modular functional units to define specific behaviors like rendering, physics, or animation logic.
- [Cross-Platform Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/abstraction-domain-modeling/cross-platform-abstraction-layers.md) — Provides a unified interface that maps engine commands to platform-specific graphics and input APIs for cross-platform deployment.
- [Interface Composition](https://awesome-repositories.com/f/software-engineering-architecture/interface-composition.md) — Assembles interactive elements and layout containers to create flexible displays that adapt to varying screen resolutions. ([source](https://docs.cocos.com/creator/manual/en/2d-object/ui-system/))

### Web Development

- [Game Development Frameworks](https://awesome-repositories.com/f/web-development/cross-platform-development/game-development-frameworks.md) — Enables building and deploying high-performance 2D games for mobile and desktop platforms from a single unified codebase.
- [3D Asset Loaders](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/asset-management-build-tools/asset-loading-resolution/3d-asset-loaders.md) — Imports 3D models and animations from standard industry formats like FBX and glTF for use within the game scene. ([source](https://docs.cocos.com/creator/manual/en/guide/unity/))
- [Data Preloading](https://awesome-repositories.com/f/web-development/data-preloading.md) — Fetches assets in the background before they are needed to reduce waiting times and ensure smooth gameplay transitions. ([source](https://docs.cocos.com/creator/manual/en/asset/asset-manager.html))

### DevOps & Infrastructure

- [Over-the-Air Update Services](https://awesome-repositories.com/f/devops-infrastructure/over-the-air-update-services.md) — Downloads and applies remote content patches at runtime to update game assets without requiring a full store reinstallation. ([source](https://docs.cocos.com/creator/manual/en/advanced-topics/))
- [Build Pipeline Extensions](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-pipeline-extensions.md) — Allows developers to modify the automated build pipeline and templates to integrate custom workflows during the project export phase. ([source](https://docs.cocos.com/creator/manual/en/editor/publish/))

### User Interface & Experience

- [Input Handling Systems](https://awesome-repositories.com/f/user-interface-experience/input-handling-systems.md) — Captures touch and pointer events through interactive components to trigger application logic. ([source](https://docs.cocos.com/creator/manual/en/2d-object/ui-system/))
- [Batch Renderers](https://awesome-repositories.com/f/user-interface-experience/rendering-optimizers/batch-renderers.md) — Groups compatible draw calls into single operations to minimize communication overhead with the graphics processor.
- [Dynamic Layout Engines](https://awesome-repositories.com/f/user-interface-experience/dynamic-layout-engines.md) — Adjusts interface elements and spacing automatically to ensure consistent presentation across various screen sizes. ([source](https://docs.cocos.com/creator/manual/en/2d-object/ui-system/))
- [Animation State Management](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/playback-lifecycle-controllers/animation-state-management.md) — Controls the playback lifecycle of animation clips including starting, pausing, looping, and state switching. ([source](https://docs.cocos.com/creator/manual/en/animation/))
- [Dynamic List Rendering](https://awesome-repositories.com/f/user-interface-experience/dynamic-list-rendering.md) — Populates interface containers with repeating content items derived from data sources for efficient list rendering. ([source](https://docs.cocos.com/creator/manual/en/2d-object/ui-system/))
- [Responsive Layout Adapters](https://awesome-repositories.com/f/user-interface-experience/responsive-layout-adapters.md) — Provides flexible interface layouts that adapt to different screen sizes and resolutions.
- [Animation Interpolators](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/animation-interpolators.md) — Interpolates property values like position, rotation, and scale over time to create smooth transitions. ([source](https://docs.cocos.com/creator/manual/en/tween/))
- [Timeline and Sequence Management](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/timeline-sequence-management.md) — Chains discrete movement and transformation commands into ordered timelines to execute complex animations through a programmatic interface.
- [Animation Sequence Managers](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/animation-transition-engines/animation-sequence-managers.md) — Chains multiple movement or transformation steps into ordered timelines to execute complex interactive behaviors. ([source](https://docs.cocos.com/creator/manual/en/tween/))
- [Terrain Texture Painting](https://awesome-repositories.com/f/user-interface-experience/texture-mapping/terrain-texture-painting.md) — Applies multiple texture layers onto terrain surfaces using brush-based tools with configurable settings. ([source](https://docs.cocos.com/creator/manual/en/editor/terrain/))

### Operating Systems & Systems Programming

- [Reference Counting](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/automated-reclamation-systems/reference-counting.md) — Tracks resource usage automatically to ensure memory is reclaimed immediately when objects are no longer referenced.

### Data & Databases

- [Remote Dataset Caching](https://awesome-repositories.com/f/data-databases/data-caching/remote-dataset-caching.md) — Downloads and stores external assets locally to eliminate redundant network requests and speed up loading. ([source](https://docs.cocos.com/creator/manual/en/asset/asset-manager.html))
