CommunityNews
Unreal Rust
TL;DR
unreal-rustallows you to write games with Unreal Engine in Rust.
unreal-rustis an opinionated Rust integration for Unreal. Rust cares about ownership, mutability and lifetimes. Mapping Unreal concepts to Rust 1 to 1 would only cause a headache. Insteadunreal-rustwill be written on top of the UnrealAActorand expose its API in a Rust friendly way.The first big change is that
unreal-rustwill use an Entity Component System (ECS). Forunreal-rustI decided to use bevy instead of rolling my own. I am just a single developer and I have to pick my battles. Writing and maintaining an ECS would distract me from doing actual work. The folks at bevy have done a wonderful job of making the ECS user friendly.
I want to deeply integrate Rust into Unreal and everything should be accessible. You can add Rust
ComponentstoAActorin the editor. For example you can add aCharacterConfigComponentto thePlayerActor, which you can then access from within Rust. This allows to configure your character from Unreal without needing to touch any code. Additionally you can access RustComponentsfrom within Blueprint. This allows you to drive Animation blueprints, or pass data into your UI.Rust communicates with Unreal through C FFI. Its a bit out of scope for this blog post but I did a small write up to explain how it works in the unreal rust wiki.
Read in full here:
https://maikklein.github.io/unreal-rust-1/
This thread was posted by one of our members via one of our news source trackers.
Popular Game Dev topics
Other popular topics
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /ruby
- /wasm
- /erlang
- /phoenix
- /keyboards
- /python
- /rails
- /js
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /svelte
- /onivim
- /typescript
- /kotlin
- /crystal
- /c-plus-plus
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /flutter
- /vscode
- /ash
- /opensuse
- /html
- /centos
- /php
- /zig
- /deepseek
- /scala
- /sublime-text
- /lisp
- /textmate
- /react-native
- /nixos
- /debian
- /agda
- /kubuntu
- /arch-linux
- /django
- /revery
- /deno
- /ubuntu
- /nodejs
- /manjaro
- /spring
- /diversity
- /lua
- /julia
- /slackware
- /c






