Perro Engine Logo

Our mission is to build and maintain a free, open-source game engine that is simple to use, fast, and open to everyone.

Perro is Rust-first by design. The scripting model is built around macros that keep common gameplay code approachable while preserving memory safety and runtime performance.

Beginners can ship scripts without getting buried in low-level complexity, and experienced teams can move fast with typed APIs, in-place mutations, and predictable behavior.

Built for Game Development

Rust Script System

Author scripts directly in Rust. lifecycle! and methods! wire script behavior, while with_state!, with_state_mut!, with_node!, and with_node_mut! provide safe engine access patterns.

Node and Scene Architecture

Everything is a node managed through efficient IDs and centralized storage. Compose scenes, attach scripts, and build reusable gameplay systems with predictable runtime behavior.

Signal and Method Calls

Emit signals globally and call script methods where needed. call_method! enables flexible interaction patterns, including self-calls and recursive flows, without unsafe script extraction.

UI and Rendering

Build interfaces with FUR and render with WGPU-backed 2D and 3D systems. Perro keeps gameplay, visuals, and tooling aligned around one Rust-native stack.

How Donations Help Perro Grow

Community donations fund full-time development of Perro Engine, keeping it free, open, and improving every day.