Unreal Rust interop

I wonder what is current state of rust binding for Unreal Engine. I find unreal-rust github (GitHub - MaikKlein/unreal-rust: Rust integration for Unreal Engine 5 · GitHub) but it seems deprecated?

Short version: unreal-rust (MaikKlein) is effectively unmaintained and targeted early UE5, so I wouldn’t start a project on it. There is no official Rust support, and no maintained binding covers UObject/reflection/Blueprint the way C++ does.

What works in practice today is the “Rust as a library” approach:

1. Build your Rust code as a cdylib or staticlib and expose a plain C ABI (#[no_mangle] extern “C” functions, repr(C) structs). Generate the header with cbindgen.

2. Wrap it in a UE plugin module: in Build.cs add the .lib/.a via PublicAdditionalLibraries (and RuntimeDependencies + PublicDelayLoadDLLs if it’s a DLL), plus the include path.

3. Write thin C++ UCLASS/UFUNCTION wrappers so Blueprints and gameplay code call into Rust.

4. Keep ownership simple: Rust owns its memory and exposes create/destroy functions; never pass UObject pointers into Rust.

5. Run cargo from a pre-build step or a custom script so the lib is rebuilt before UBT links.

This is solid for simulation, networking, parsing or math-heavy systems; gameplay framework code is still best kept in C++.