awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
urho3d avatar

urho3d/urho3dArchived

0
View on GitHub↗
4,707 stars·1,010 forks·C++·mit·70 viewsurho3d.github.io↗

Urho3d

Urho3D is a cross-platform 3D game engine written in C++. It uses a component-based scene graph to compose game objects from nodes and attached components, separating transforms from behaviors for modular design. The engine integrates AngelScript and Lua scripting for game logic, uses the Bullet library for physics simulation, and renders scenes with OpenGL or Direct3D through forward, deferred, or light pre-pass pipelines with customizable render passes and shadow mapping.

The engine distinguishes itself with a built-in visual scene and UI editor for composing 3D worlds and interface layouts, and a CMake-based build system that supports cross-compilation via Docker containers to targets including WebAssembly and Apple TV. It provides full multiplayer networking with UDP-based scene replication, state synchronization, and NAT punchthrough, as well as dynamic navigation meshes with crowd management for AI pathfinding, inverse kinematics for character posing, and a wide range of animation tools spanning skeletal rigs, sprite sequences, and property keyframing.

Beyond its core, Urho3D includes audio playback with volume category management, comprehensive input handling for keyboard, mouse, joystick, touch, and gestures, a complete UI system with pre-built widgets and XML-based layout loading, particle effects, tile map support, and resource management with asynchronous loading and packaging. It also offers database connectivity, HTTP requests, debugging overlays, logging, profiling, and an interactive script console.

The engine is distributed as a C++ library that can be integrated via CMake, with pre-built modules and toolchains for desktop, mobile, console, and web platforms.

Features

  • 3D Game Engines - A cross-platform 3D game engine with built-in scripting, physics, and a visual editor for rapid iteration.
  • 2D and 3D - Renders visual scenes using hardware-accelerated graphics via Direct3D or OpenGL for both 2D and 3D content.
  • Component-Based Node Hierarchies - Creates a hierarchy of nodes with attached components to define objects, transforms, and behaviors.
  • Component-Based Scene Graphs - Constructs a scene hierarchy using nodes with attached components for modular object composition.
  • Physics and Simulation - Ships a full physics simulation engine for rigid bodies, vehicles, and constraints in 2D and 3D.
  • State Replication - Synchronizes scene state across UDP connections by replicating marked attributes with delta compression.
  • Keyboard and Mouse Event Capture - Polls keyboard and mouse state with differentiation between press initiation and hold, and supports both symbolic keycodes and layout-independent scancodes.
  • Cross-Platform Build Tools - Compiles the engine to run on desktop, mobile, console, and web platforms.
  • Application Lifecycle Callbacks - Provides a base class with lifecycle callbacks and a macro to define the program entry point.
  • 3D Scene Editors - Provides a built-in editor for composing 3D scenes and user interface layouts.
  • Cross-Platform Game Compilation - Builds and deploys games on desktop, mobile, console, and web from a single codebase with CMake.
  • Dynamic Navigation Meshes - Generates dynamic navigation meshes with runtime obstacle insertion for AI pathfinding in 3D worlds.
  • Scripted Component Schemas - Defines custom behaviors by creating script objects or new components attached to scene nodes.
  • Game Loops - Initializes the engine and runs the application loop until the user exits the game.
  • Stage Event Hooks - Fires events at each stage of the frame lifecycle to let scripts run custom logic.
  • 2D Game Frameworks - Provides tools for building 2D games with sprites, tile maps, orthographic cameras, and 2D physics.
  • Component-Based Scripting Platforms - Attaches script classes as scene node components with automatic lifecycle method invocation.
  • Game Logic Scripting - Uses embedded scripting languages to define game behavior that executes during the game loop.
  • Integrated Scripting Engines - Integrates AngelScript and Lua scripting with editor support, debugging, and automatic serialization of script state.
  • Multiplayer Networking - Connects players over UDP with automatic scene replication, NAT punchthrough, and reliable messaging.
  • Navigation Mesh Generation - Builds navigation meshes from scene geometry with partial rebuilds for dynamic environments.
  • Rigid Body Physics Engines - Simulates rigid body dynamics, vehicle physics, and collision detection using the Bullet library.
  • Customizable Render Pass Pipelines - Renders scenes with configurable pass sequences supporting forward, deferred, and light pre-pass shading.
  • 3D Scene Renderers - Renders 3D scenes with forward, deferred, or light pre-pass pipelines and customizable render paths.
  • Binary Shader Loaders - Loads compiled vertex and pixel shaders from a custom binary format for a specific graphics API.
  • Keyframe Animations - Animates any object property by defining keyframes with values over time, with looping or single-play modes.
  • Skeletal Animation - Animates characters and objects using skeletal rigs from Spine and Spriter.
  • Multi-API Renderers - Hardware-accelerated rendering supporting both OpenGL and Direct3D across desktop, mobile, and web platforms.
  • Binary Skeletal Animation Loaders - Loads skeletal animations from a custom binary format with keyframes for position, rotation, and scale.
  • AngelScript and Lua Game Scripting - Integrates AngelScript and Lua scripting for game logic with editor support and debugging.
  • Lua Game Event Handlings - Subscribes Lua functions or object methods to engine events, receiving event data as parameters for custom response logic.
  • Lua Script Attachments to Nodes - Adds Lua scripts as components to scene nodes with automatic lifecycle method invocation.
  • Lua Script Loadings and Executions - Loads Lua script files from the resource cache and makes their functions available for programmatic calls.
  • Scripted Game Executions - Loads and executes an application script file to run game logic, starting with the Start() function before the main loop.
  • Real-Time Multiplayer Frameworks - Connects players for real-time cooperative or competitive multiplayer sessions over the network.
  • Resource Loading - Loads resources from disk into a cache with background file I/O to prevent main thread stalls.
  • Script Class Bindings to Scene Nodes - Creates components from script classes that respond to scene updates, events, serialization, and network replication.
  • Engine Initialization Configurations - Accepts a configuration map to set up subsystems and rendering before the application loop begins.
  • Game State Replication - Automatically syncs nodes and components between server and clients with delta updates.
  • Scene Serialization - Saves and loads entire scenes or individual node hierarchies as prefabs in binary, JSON, or XML formats.
  • Pre-Built Widget UI Compositions - Uses ready-made elements such as buttons, lists, text fields, and windows to compose interactive game interfaces.
  • Game Loop Updates - Drives each frame iteration, triggering a sequence of update events for application logic, physics, and rendering.
  • Subsystem Registries - Manages the registration, construction, and event routing of application subsystems.
  • Frame Rate Controllers - Controls frame update timing, frame rate limiting, and the main loop iteration sequence.
  • Input Handling - Provides events for keyboard, mouse, joystick, touch, and gesture input from the player.
  • 3D Asset Loaders - Loads and converts 3D model and animation formats into engine-ready assets.
  • 3D Model Binary Loaders - Loads 3D models from a custom binary format containing geometry, LOD levels, vertex morphs, skeleton, and bounding box data.
  • Physics and Navigation Integrations - Integrates physics simulation with navigation mesh generation for AI pathfinding in 3D environments.
  • IK Effector Configurations - Configures target position, rotation, chain length, and weight for inverse kinematic effectors.
  • Joystick Interfaces - Processes signals from joystick and gamepad hardware devices to enable character and action control.
  • Joystick State Polling - Detects connected joysticks automatically and exposes state by ID or index, with game controller mappings for known button and axis layouts.
  • Touch and Gestures - Processes multi-touch inputs with events and polling, and supports gesture recognition with recording, matching, saving, loading, and desktop emulation.
  • Orthographic Camera Setups - Configures orthographic cameras with size and zoom for 2D rendering in the engine.
  • Attribute-Based Serializations - Saves and loads object properties to binary or XML via declared attributes for durable game state.
  • Cross-Platform Build Systems - CMake-based build system with Docker support for cross-compilation to multiple targets including WebAssembly and Apple TV.
  • Interactive Consoles - Displays an interactive command line for executing AngelScript code and inspecting engine state.
  • 2D Rigid Body Physics Engines - Simulates 2D rigid body dynamics, collisions, and constraints for sprite-based games.
  • Crowd Agent Navigations - Guides multiple AI agents along computed paths with area costs and event-driven state tracking.
  • Inverse Kinematics Character Animations - Automatically adjusts limb positions to reach target points for natural character posing and interaction.
  • Sparse Navigation Mesh Generators - Builds navigation meshes covering only walkable areas to reduce memory and enable world streaming.
  • Physics Body Configurations - Configures collision shapes, mass, filtering, and motion constraints for rigid body physics.
  • Physics World Queries - Supports raycasts, sphere casts, and overlap tests for detecting bodies in the physics world.
  • Player State Synchronization - Synchronizes player input and state from clients to servers for authoritative multiplayer gameplay.
  • Prefab Serialization - Saves a selected node with its components and children into a file, then loads it back to speed up scene construction.
  • Scene Object Manipulators - Manipulates scene objects through creation, attribute editing, transform controls, variable management, and multi-selection editing.
  • Navigation and Crowd State Managers - Tracks navigation mesh changes, crowd agent states, and obstacle updates for AI movement.
  • Vehicle Physics Engines - Models vehicle movement and suspension using the Bullet RaycastVehicle system for realistic driving.
  • Sprite Sequence Animations - Animates characters and objects using sprite sequences from Spine and Spriter.
  • Spriter Sprite Animations - Loads Spriter .scml files and renders animated sprites with speed, looping, and mirroring controls.
  • Static Sprite Renderers - Renders static 2D sprites from images or spritesheets with configurable hotspot, opacity, and material.
  • Area Light Sources - Creates volumetric-looking particles and simulates non-point light sources for more realistic scenes.
  • Rendering Quality Settings - Adjusts texture quality, shadow resolution, and other rendering options at runtime during gameplay.
  • Sprite Layer Ordering - Sets a scene's background color and arranges sprites on layers with customizable ordering.
  • Scene Element Queries by Criteria - Queries nodes and components by name, ID, or tag to locate specific objects in the scene.
  • Tile Map Renderers - Parses Tiled TMX files and renders tile map layers with support for multiple projections.
  • Particle Effects - Loads .pex particle definitions and renders dynamic particle emitters for visual effects.
  • Per-Instance Rendering Data - Extends hardware instancing with custom per-instance data like color and offset for drawable classes.
  • Per-Node Update and Render Toggles - Enables or disables updates and rendering per node or component to pause or hide parts of the scene.
  • Dynamic Obstacle Managers - Adds or removes cylindrical obstacles on a navigation mesh without full rebuilds for faster updates.
  • Connection Establishment Protocols - Establishes UDP connections to game servers with identity data for client-server multiplayer.
  • NAT Punchthrough Connections - Provides NAT punchthrough via a master server to enable direct peer-to-peer multiplayer connections.
  • Script Precompilers - Compiles AngelScript and Lua source files into bytecode for faster loading and distribution.
  • IK Solver Configurations - Selects solver algorithms and adjusts iteration count and tolerance for inverse kinematic convergence.
  • Scene Graph Mutation Events - Listens for events when nodes or components are added, removed, or modified to keep logic in sync.
  • Multi-Viewport Renderers - Defines multiple viewports for split-screen, overlays, or off-screen rendering with configurable render order.
  • Shared View Culling for Stereo Rendering - Shares a single culling camera across viewports to avoid redundant visibility queries in VR and multi-view setups.
  • Layout and Anchoring Systems - Provides automatic horizontal/vertical layout modes and proportional anchoring for user interface elements.
  • Rendering Optimizers - Automatically applies occlusion culling, hardware instancing, and light stencil masking to reduce load.
  • Game Engines and Frameworks - Lightweight cross-platform 2D/3D engine.
  • Game Frameworks - Cross-platform framework for 2D and 3D games.
  • Graphics and Rendering - Cross-platform rendering and game engine.
  • Graphics and Rendering - Cross-platform rendering and game engine.

Star history

Star history chart for urho3d/urho3dStar history chart for urho3d/urho3d

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does urho3d/urho3d do?

Urho3D is a cross-platform 3D game engine written in C++. It uses a component-based scene graph to compose game objects from nodes and attached components, separating transforms from behaviors for modular design. The engine integrates AngelScript and Lua scripting for game logic, uses the Bullet library for physics simulation, and renders scenes with OpenGL or Direct3D through forward, deferred, or light pre-pass pipelines with customizable render passes and shadow mapping.

What are the main features of urho3d/urho3d?

The main features of urho3d/urho3d are: 3D Game Engines, 2D and 3D, Component-Based Node Hierarchies, Component-Based Scene Graphs, Physics and Simulation, State Replication, Keyboard and Mouse Event Capture, Cross-Platform Build Tools.

Which projects share features with urho3d/urho3d?

Projects with overlapping indexed features include: godotengine/godot-demo-projects — This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the… playcanvas/engine — This project is a WebGL 3D game engine and comprehensive suite of tools for rendering high-performance 3D graphics and… jynew/jynew — jynew is a 3D RPG game engine and development framework designed for building three-dimensional role playing games. It… ant-galaxy/oasis-engine — Oasis Engine is a web-based game engine and component-based game framework designed for creating real-time interactive… o3de/o3de — This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic… panda3d/panda3d — Panda3D is a cross-platform game engine and 3D graphics rendering system developed for Python and C++. It functions as…

Projects sharing features with Urho3d

These projects share indexed features with Urho3d. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • godotengine/godot-demo-projectsgodotengine avatar

    godotengine/godot-demo-projects

    8,250View on GitHub↗

    This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex

    GDScript
    View on GitHub↗8,250
  • playcanvas/engineplaycanvas avatar

    playcanvas/engine

    16,051View on GitHub↗

    This project is a WebGL 3D game engine and comprehensive suite of tools for rendering high-performance 3D graphics and interactive scenes in the browser using WebGL and WebGPU. It provides a dedicated WebXR framework for building augmented and virtual reality experiences that run directly in a web browser. The engine includes a specialized Gaussian splatting renderer for displaying 3D point-cloud data to create photorealistic environmental captures. It utilizes a glTF asset pipeline to load and stream compressed 3D models and textures for efficient asset delivery. The system covers real-time

    JavaScript
    View on GitHub↗16,051
  • jynew/jynewjynew avatar

    jynew/jynew

    8,815View on GitHub↗

    jynew is a 3D RPG game engine and development framework designed for building three-dimensional role playing games. It provides a comprehensive suite of tools for scene editing, game logic scripting, and the creation of 3D environments. The project features a specialized 3D asset management pipeline for importing and aligning models and animations, including specific tools for weapon attachment and rendering. It includes a dedicated combat system editor for defining battle encounters, skill effects, and combat grids with real-time synchronization. Additionally, it provides a game modding fram

    C#game-developmentjinyongunity
    View on GitHub↗8,815
  • ant-galaxy/oasis-engineant-galaxy avatar

    ant-galaxy/oasis-engine

    5,791View on GitHub↗

    Oasis Engine is a web-based game engine and component-based game framework designed for creating real-time interactive 2D and 3D applications for web and mobile platforms. It functions as a real-time 3D renderer and a physics simulation engine capable of producing interactive visual environments. The framework includes a visual scene editor that allows artists and developers to build, layout, and export project scenes through a graphical interface. This system supports visual scene composition and converts these layouts into structured data for runtime reconstruction. The engine's capabiliti

    TypeScript
    View on GitHub↗5,791
Compare all 30 related projects→