Categories
Final Major Project

Serial Communication bewteen Arduino UNO and Unreal Engine 5

Finding the Right Plugin

To bridge Arduino and Unreal Engine, I used a plugin originally made for Unreal Engine 4 and later adapted for Unreal Engine 5. The plugin is called Unreal Engine SerialCOM Plugin, developed by Ramiro Montes De Oca (Ramiro’s Lab).
I sourced it from GitHub:
https://github.com/videofeedback/Unreal_Engine_SerialCOM_Plugin

I’m running Unreal Engine version 5.4.4, which meant I had to rebuild the plugin version for 5.0.3 available in the resource folder, to make it compatible with this version. It worked smoothly after a few configuration steps.


Setting It Up in Unreal

Once I downloaded the plugin ZIP from GitHub, I followed these steps:

  1. Create a Plugins Folder
    Inside my Unreal project directory, I created a folder named Plugins.
  2. MyProject/Plugins
  3. Place the Plugin Inside
    I extracted the downloaded plugin folder directly into this Plugins directory — not inside the /Content folder.
  4. Restart Unreal
    After placing the plugin, I closed the project and reopened it. Unreal automatically detected the new plugin and asked to rebuild it for version 5.4.4. I let it rebuild, and everything compiled correctly.
  5. Enable the Plugin
    In Unreal, I went to:
  6. Edit → Plugins

Then I searched for “SerialCOM,” ticked the checkbox, and made sure it was active. Once enabled, I restarted Unreal one more time to apply the change.


Setting Up the Connection

The plugin comes with a Blueprint example inside the ZIP package, which made the setup process much easier.

Here’s what I did:

  1. Open the Example Blueprint
    I added the provided Blueprint to my level and opened it.
  2. Find the Right COM Port
    I checked which port my Arduino was connected to by opening the Device Manager on Windows and looking under “Ports (COM & LPT).”
    For me, it was something like COM3.
  3. Update the Blueprint Settings
    In the Blueprint, I changed the serial port to match my Arduino’s COM port and adjusted the Baud Rate to the same value I had used in my Arduino sketch.
  4. Test the Connection
    Once everything was set, I ran the project in Unreal. The connection status appeared in the window, confirming that Unreal was successfully talking to the Arduino.

What Worked and What Didn’t

It wasn’t all smooth sailing — there were a few hiccups along the way:

  • Plugin detection issues: Unreal wouldn’t recognize the plugin at first because I’d placed it inside the /Content folder by mistake. Moving it to /Plugins fixed that instantly.
  • Rebuild prompts: Unreal had to rebuild the plugin every time I changed versions or made small edits, but it eventually stabilised.
  • COM port mismatch: If the wrong port or baud rate was set, the communication failed silently — double-checking these two settings was key.

Port Initialised in debug view, confirming Arduino successful connection with Unreal.


Final Thoughts

Getting Arduino and Unreal Engine to communicate felt like unlocking a new level of interactivity. The SerialCOM Plugin by Ramiro Montes De Oca works really well once it’s set up properly, and it opens up so many possibilities for combining physical hardware with virtual experiences — from motion sensors and haptic devices to robotics and interactive art installations.

This process taught me a lot about how Unreal handles plugins and serial communication, and now that the setup is working, I can start experimenting with sending real sensor data directly into my Unreal projects.


Resources:

Leave a Reply

Your email address will not be published. Required fields are marked *