skillfed

ursina

An easy to use game engine/framework for python.

ursina v8.3.0 131.3K downloads/30d#11,595 on PyPI2,579
Permissive license MIT Active released

What it is and what it does

Ursina is a high-level Python game engine that wraps Panda3D to make 3D game development more accessible. It provides an entity-component-like system where you define game objects as Entities with properties like model, color, position, and collision, then update them in a standard game loop. The engine handles rendering, input (keyboard/mouse), physics collision, and window management automatically.

You write games entirely in Python without needing to learn a separate engine editor or scripting language. Ursina includes built-in 3D models, fonts, and audio clips, and supports loading external assets (textures, models from Blender). It's designed for rapid prototyping and learning, with examples ranging from simple cubes to platformers and Minecraft-like voxel games. The active community and documentation make it suitable for hobbyists, students, and developers exploring game development in Python.

Use it for:

  • Build a simple 3D platformer or puzzle game without learning a complex engine
  • Create educational visualizations or interactive 3D simulations in Python
  • Prototype game mechanics quickly before committing to a larger engine
  • Develop a voxel-based or grid-based game (e.g., Minecraft-style clone)
  • Make a 2D or 3D game jam entry using pure Python code

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Ursina is a Python game engine built on Panda3D that lets you create 3D games and interactive applications by writing Python code, with built-in support for entities, collision, input handling, and rendering.

Yes, if you want to make 3D games in Python with minimal setup friction. Ursina is actively maintained, permissively licensed, has no known vulnerabilities, and low install friction. It's well-suited for learning, prototyping, and small-to-medium indie projects. Not recommended if you need AAA-grade performance, advanced physics, or a mature ecosystem of third-party plugins—consider Godot or Unreal for those.

Install

ursina on PyPI

pip

pip install ursina

uv

uv add ursina

poetry

poetry add ursina

Installing ursina

Before you install

Low install friction; distributed as a pure Python wheel. Requires Panda3D and five other runtime dependencies (pillow, pyperclip, screeninfo, panda3d-gltf, sswg), all available on PyPI. Actively maintained with recent commits and no known vulnerabilities.

License in practice

MIT license is permissive; you can use, modify, and distribute ursina-based projects with minimal legal restriction, including in commercial applications.

Quickstart

pip install ursina

from ursina import *

app = Ursina()
player = Entity(model='cube', color=color.orange, scale_y=2)

def update():
    player.x += held_keys['d'] * .1
    player.x -= held_keys['a'] * .1

app.run()

Requires Python 3.12 or newer. Panda3D may require a C++ compiler and system graphics libraries on some platforms.

Verify before relying

  • Whether psd-tools and blender are optional or required for .psd and .blend file support
  • Performance characteristics and scalability limits for complex 3D scenes
  • Cross-platform support details (Windows, macOS, Linux compatibility)

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 6 — panda3d, panda3d-gltf, pillow, pyperclip, screeninfo, sswg
Maintenance actively maintained — 251 days since the last release
Last repo commit
First released
Downloads 131,349/month — #11,595 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ursina-8.3.0-py3-none-any.whl

Keywords: game, development

Tags

python game engine3d game development pythonpanda3d wrapper frameworkeasy game engine pythoninteractive 3d applicationspython game frameworkentity-based game engine
game-engine3d-graphicspython-native

More Application Frameworks packages