CommunityNews

CommunityNews

Unreal Rust

TL;DR unreal-rust allows you to write games with Unreal Engine in Rust.

unreal-rust is 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. Instead unreal-rust will be written on top of the Unreal AActor and expose its API in a Rust friendly way.

The first big change is that unreal-rust will use an Entity Component System (ECS). For unreal-rust I 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 :smiling_face_with_three_hearts:.

I want to deeply integrate Rust into Unreal and everything should be accessible. You can add Rust Components to AActor in the editor. For example you can add a CharacterConfigComponent to the PlayerActor, 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 Rust Components from 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.

Where Next?

Popular Game Dev topics Top

New
First poster: bot
It’s been confirmed that E3, the biggest video game event in the world, is set to go ahead this year. Instead of its usual Los Angeles l...
New
steelx
Hi, I’m looking suggestions for learning Game development with C++ preferably, SDL2. All suggestions are welcomed :slight_smile:
New
First poster: bot
Already in an Xbox developer program and looking for the GDKX or related resources to build and publish to Xbox consoles? GDKX (confiden...
New
AstonJ
Pretty incredible - and I think it gives a good glimpse of what the next gen (PS6 etc) will be able to pull off with ease: ...
New
dev232
Installed Mac Ports on OSX High Sierra sudo port install gcc11 libsdl2 openssl glfw libsdl2_gfx libsdl2_image libsdl2_mixer libsdl2_net...
New
RobertRichards
FEI Equestriad World Tour This game is mainly developed to amuse horse racing lovers. What makes this game quite engaging is the realist...
New
HuntzUdwn
Hello everyone, I am a Student at CSUDH and was wondering about how to become a game developer. I would like to contact a developer and a...
New
First poster: Eiji
It’s well known that video games today are disposable pieces of slop. Modern multiplayer games tend to fall into one of two categories: t...
New
New

Other popular topics Top

PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
PragmaticBookshelf
Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you’ll go beyond the syntax—and...
New
siddhant3030
I’m thinking of buying a monitor that I can rotate to use as a vertical monitor? Also, I want to know if someone is using it for program...
New
New
AstonJ
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face: Perhaps if there’s enough peop...
New
AstonJ
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New