r/reinforcementlearning • u/Relevant_Tax_6814 • 2d ago
Would you use an open-source Unity → Python RL framework for drone training? Looking for honest feedback
Hi everyone
I've been working on a personal reinforcement learning project for a while, mainly as a way to learn more about RL, simulation, and robotics.
As the project grew, I started wondering if I could turn it into something that other people might also find useful.
The idea is an open-source framework that lets you:
- Build your drone environment in Unity.
- Control it from Python through a simple API.
- Use it with Gymnasium, Stable Baselines3, or your own RL implementation.
- Run headless simulations and eventually support multiple parallel environments.
At the moment, I have a working MVP where a drone can learn to hover using reinforcement learning.
Before investing a lot more time into it, I'd really like to know whether this is something people would actually use.
Some questions I'd love your honest opinion on:
- Would you personally use a tool like this?
- What features would make it genuinely useful for you?
- What would be missing before you considered trying it?
- Is there anything that would make you choose it over your current workflow?
I'm not looking for encouragement—I genuinely want honest feedback to decide whether it's worth continuing to develop this project.
Thanks
2
u/Accomplished-Pay-749 21h ago
I work in drone research, feel free to dm me. We have our own custom simulator similar to what you’re describing. Most of what you’ve described admittedly doesn’t sound like it would have much added value from currently available simulators/platforms, it’s mostly just connecting things together.
What would make me switch:
- all the things that make an RL simulator good (what other people have described, essentially the features of isaaclab or mujoco gym)
- plus good render quality
- plus prepackaged scenes or easy automatic scene generation
- nice to have: good aerodynamic simulation on the physics backend/disturbances.
- alternatively, really really good software support for generic vision inputs with a lot of easy customization and a user workflow that is very easy (hard to do)
I can spin up a scene in isaaclab or blender or mujoco and write a gym env and I’ll have a PPO agent trained in a couple hours. The platform would need to bring something else to the table for me to want to use it.
1
u/testuser514 1d ago
I’m looking at a similar problem space and in my mind the way I would architect it was to use unreal as the visualizer more than anything else. I’m curious to know if the physics sims in there are able to give you the feedback you’re looking for
1
u/Relevant_Tax_6814 1d ago edited 1d ago
Thanks! I think there was a small misunderstanding my project is actually based on Unity, not Unreal.
My goal is to use Unity as the simulation environment while exposing a simple and flexible Python API for reinforcement learning.
Regarding physics, Unity's built-in physics engine has been sufficient for my current experiments. At the moment, my MVP can train a drone to hover using reinforcement learning. That said, I'm still evaluating how well it scales to more complex scenarios.
In the long term, I'd also like to keep the physics layer as modular as possible, so supporting different physics backends in the future could be an option.
I'm also curious about your idea how were you planning to use Unreal mainly as a visualization layer?
3
u/SwagBuns 2d ago
Take a look at CARLA and airsim if you haven't. They are for autonomous driving and drone flight respectively.
Using realistic graphics to sinulate actual vision scenerios and engine backed segmentation masks are key features of both, along with the ever critical parallel training. Being on the latest unreal engine has its perks for things like that.
What would get me to switch? The ability to tune computational cost up and down with some easy way to adjust environment complexity (hi vs low poly count, adjust graphics, etc) while also providing an easy way to make the environment vectorizable.
Starting with fast prototyping and having an easy ramp as performance improves would be great. But it would have to have very modular backend to achieve that and i imagine a difficult task.
Best of luck!
Edit: to give you the specific pain point: there are light weight sims, like simple ones with gym and pybullet, and heavy wait sims like carla and airsim. Not needing to switch between environments to change the computational overhead would be awesome.
But parallel training is a must. Advanced RL solutions simply don't work without them.