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

PragmaticBookshelf
What’s better than playing games? Programming your own! Make your own online games, even if you're an absolute beginner. Let your imagina...
New
First poster: bot
3D Graphics Programming from Scratch. Learn 3D Computer Graphics programming by making a 3D software renderer from scratch. Most compreh...
New
Jsdr3398
I just had a random thought come to my head: is there something like pygame for Elixir? Would Elixir be better or worse for game dev?
New
First poster: bot
SNKRX is an arcade shooter roguelite where you control a snake of heroes that automatically attack nearby enemies. Combine different hero...
New
AstonJ
I wish they would create an OS or let you run Linux like they did with the PS3…
New
Devmar1
Hi Guys, What is your opinion about geo-distributed testing, do you and use it and why? And which resources do you use for testing pro...
New
First poster: bot
TL;DR unreal-rust allows you to write games with Unreal Engine in Rust. unreal-rust is an opinionated Rust integration for Unreal. Rust ...
New
Hipnot
How do I cancel my Fortnite Crew subscription and what happens to my account and previous rewards after I cancel my subscription?
New
RobertRichards
Waste Racer It is a waste disposal game application. The game involves collecting roadside garbage and putting them inside a moving bin....
New
RobertRichards
ADVENTURES OF NATIA Natia is the main character of this adventure game. Players have to help him collect mangoes and also need to save h...
New

Other popular topics Top

PragmaticBookshelf
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
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
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
AstonJ
Biggest jackpot ever apparently! :upside_down_face: I don’t (usually) gamble/play the lottery, but working on a program to predict the...
New
New