Multiagents Reinforcement Learning Tool for Unreal Engine 5

Introducing “Unray” - Harnessing Reinforcement Learning for Unreal Engine!

I am thrilled to offer a glimpse into the development of “Unray,” an RL tool crafted exclusively for Unreal Engine. Currently in the works, Unray combines the power of Python and rllib.

Key Upcoming Features:

  1. Python and rllib Integration: Unray will seamlessly harness the potential of Python and rllib, enabling you to create adaptive agents that learn from experience.
  2. Simultaneous Scenario Training: Train multiple scenarios concurrently, optimizing your development process and accelerating agent learning.
  3. User Interface for Training Management: Unray will offer an intuitive user interface, empowering you to manage RL training with ease.
  4. Docker Deployment Support: Effortlessly deploy trained agents into your Unreal Engine projects using Docker, ensuring seamless integration.
  5. Future-Ready Cloud Training: I have big plans to make cloud training available, providing scalability and accessibility for your RL experiments.

Unray is dedicated to pushing the boundaries of RL-driven game development, and I can’t wait to share Unray with the Unreal Engine community. As I continue to develop and fine-tune the tool, I eagerly wait for your feedback and support to make Unray the ultimate RL solution for Unreal Engine.

Follow me on Youtube and stay tuned for more updates and announcements as we embark on this transformative journey together!

Thanks!

1 Like

Hello @UnrayNS, I am very interested in using Ray RLlib for driving simulation. Have there been any efforts to integrate Ray RLlib with the race car driving example I recently found on this website: Learning to Drive | Tutorial? My understanding is that both of these projects are currently designed for use on Windows. I am excitedly anticipating the availability of these projects on Linux.

1 Like

Hello @chrisjcc, I am happy to hear that you are interested in using Unray, currently I am not developing the toolset alongside with Brendan Mulcahy, but I have interests on implementing some of his features. Also, I am developing some really nice examples on how to use Unray with some Engine features, maybe if you are interested specifically in a driving example for one of your projects, I can take some time making an example of this kind, let me know if that is the case. Last but not least, Unreal Engine has some kind of support to run on Linux, but you need to know the pros an cons. And so does Ray, as it is made in python it can be used in Linux. In the future some of the features of Unray are going to be ported to linux, but most developers use Unreal on Windows, so it is going to depend on the necessities of the Unray community.

Being no more, let me know if you need any more help and don’t forget to share Unray.

2 Likes

Hi There, I am interested in learning RL using Python, can u help with? do you have any tutorials I can study?
Thank you so much

Hi!, for any of you interested in learning how to use Unray, join the discussion in Discord, we will answer your doubts and help you to use Unray - Unray

Hi @UnrayNS , thanks for your prompt reply and apologies for my delayed response, somehow I missed it until now. So, yes would be varying interested in such an example/use-case. I share what I had in mind below as well. Was not aware that Unreal was mainly driven by Windows developers.

@blackboxman123, I’m currently developing a Python script to execute a basic example of multi-agent reinforcement learning, using Ray RLlib, featuring a hierarchical action space. This space comprises two levels: a high-level discrete component, responsible for decision-making regarding lane changes (e.g., maintaining the current lane, changing to left or right lanes, accelerating, or decelerating), and a low-level continuous component for steering, acceleration, and braking adjustments. Is this something you’d be interested in, if so, I can share a GitHub repository once I commit it to the remote repo.

The example I’m putting together is set in a straightforward highway environment (I’m aware of gym highway-v0) and utilizes PyGame for visualizing the highway layout. However, I’m considering utilizing the Unreal Engine as the simulation platform instead of PyGame.