So, to what extend is modern C++ as safe language? Rust is 100% safe. Well, maybe make it a 99%…
And for the record, since you mentioned how UE4 is written in the first place. WinRT is also written in a object oriented way. It got Win32, so C in it, too. However, unlike C++/WinRT, Rust/WinRT is still 100% safe according to MS no matter what the actual underneath code is. The same with C# for Unity. Unity isn’t written in C#, but C++. Any gameplay code written still will fully or at least mostly draw from the advantages of the language that it was written in.
Any Rust game logic will be safe by default unless written in unsafe code blocks provided that the bindings are also safe and not raw bindings going directly into C++ code via C.