ursina is an easy-to-use, open source game engine and framework for Python that is built on top of Panda3D, aiming to make game development approachable while still being powerful enough for real projects. It lets you create both 2D and 3D games, applications, and visualizations by writing concise Python scripts instead of dealing with a lot of low-level boilerplate. The engine is centered around an Entity-based architecture, where everything in the scene is an object you can easily configure and manipulate from code. Ursina focuses heavily on iteration speed, offering in-game reloading of code, textures, and models so you can tweak and test changes quickly. It includes many batteries-included features such as a mesh API for procedural geometry, built-in animation and tweening, pre-made controllers like FirstPersonController and EditorCamera, and a library of shaders and 3D primitives.
Features
- Python-powered engine built on Panda3D with an Entity-based architecture
- Supports 2D and 3D games, applications, and visualizations
- Live reloading of code, textures, and models while the game is running
- Automatic import of .psd and .blend files for smoother art workflows
- Batteries-included toolkit: mesh class, animation/tweening, prefabs like FirstPersonController and EditorCamera
- Cross-platform (Windows, Linux, usually macOS) with a permissive MIT license