[Free][Windows only] UE4Duino 2 - Arduino (COM port) communication

You NEVER want to block Unreal. Instead, write a timeout logic while trying to non-blockingly get the answer from Arduino. Something like


SendCommandToArduino()
{
    Serial.Print("some command");
    CommandTime = WorldRealltimeSeconds;
}

Tick(float DeltaSeconds)
{

    if (CommandTime - WorldRealtimeSeconds > Timeout)
    {
        SendCommandToArduino();
    }
    else
    {
        Response = Serial.ReadBytes();
        // Check if response is valid
    }
}