MaikKlein / unreal-rust

Rust integration for Unreal Engine 5
Apache License 2.0
2.1k stars 77 forks source link

๐Ÿฆ€ unreal-rust

Opinionated Rust integration for Unreal Engine

Build Status LICENSE LICENSE Discord

โ˜ฃ๏ธ Warning

unreal-rust is not ready to be used in a real project. unreal-rust is in a very early state and nothing more than a proof of concept right now. The API will change quite frequently. Things might crash, or not work as intended. The user experience will not be great.

I am releasing unreal-rust on github to develop it in the open.

๐ŸŽฏ Features

๐Ÿ–ฅ๏ธ Supported Platforms

Potential future platforms: iOS, macOS, Android, html5/browser(possibly)

Consoles are unsupported. I simply can not offer console support as it is a closed off ecosystem. Nor do I have access to any developer kits myself.

๐Ÿ’Œ Blog posts / media

๐Ÿšฉ Known problems

๐Ÿฆฎ Getting started

Running the example

I am aware that these are a lot of steps. I am sorry, I will try to simplify this in the future

We start by cloning this repository

git clone https://github.com/MaikKlein/unreal-rust

Next we clone the submodule. This will download the actual example with all the assets.

cd unreal-rust
git submodule update --init

Next we need to setup the example

This will symlink the RustPlugin into the unreal example/RustExample/Plugin folder.

Now we need to build the actual Rust code:

Simply run

cargo build --release

This will build the whole project. This also produces our dll that we are going to load into Unreal.

Copy the dll/so file into the project

Now we need to build the unreal example

cd example/RustExample
ue4 build Development Editor

Now you can run the example with ue4 run

๐Ÿš€ Supported versions

This project will always try to support the latest version.

๐Ÿค Alternatives

๐Ÿฅฐ Thank you