This is a project meant to serve as a foundation for simulating unmanned/autonomous surface vessels in Unity with HDRP (High Definition Rendering Pipeline).
https://github.com/edvart-ros/unity_asv_sim/assets/94528774/35275add-04a7-4d5d-b1de-eafd5a51cb38
This project was primarily worked on as part of my EE BSc thesis. I am now out of university, working, and unfortunately don't have time to maintain it. Still, I'm happy to provide some advice sorting out issues that come up. Unity is cool! And so is ROS and ASVs!
For running the simulator itself, see the official Unity HDRP system requirements: https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@17.0/manual/System-Requirements.html
For ROS compatability, the system must (obviously) have some way of running ROS. Unity's ROS-TCP-Connector is used as the interface between ROS and Unity. See the official documentation and tutorials at https://github.com/Unity-Technologies/ROS-TCP-Connector for more information. ROS 2 Humble and ROS 2 Iron has been tested, but the simulator should be compatible with any ROS version supported by the ROS-TCP-Endpoint.
The simulator has been tested on Windows 11 (with Robostack or Docker), MacOS Sonoma (not tested with ROS) and Ubuntu 24.04 (native).
Check out the Wiki for tutorials on how to use the project!
https://github.com/edvart-ros/unity_asv_sim/assets/94528774/98dcea8f-6421-42f1-b26a-0a4edf289c9d
https://github.com/edvart-ros/unity_asv_sim/assets/94528774/1ded79fc-41ba-4e21-8802-9b5ca1700b31
https://github.com/edvart-ros/unity_asv_sim/assets/94528774/3e1fb73f-ca62-445d-928d-54aebd81ce08