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

There’s no function to read the number of bytes in the serial connection nor one that blocks until a number is read. In fact, I’d never do anything that blocks unreal intentionally, as it sounds like bad design.
In your case I’d simply keep reading bytes from the serial with ReadBytes and storing them in an array until the array has 4 bytes. Then I’d use those 4 to make a float and clear the array. But if you’re trying to do that as a way to avoid getting split bytes from Arduino (like the last 2 from a float and the first 2 from another one), that wouldn’t solve it, because you could be splitting since the first time you called the function. You need to come up with a way to signal Unreal when you are going to send another float. In this thread, if you search for protocol, there’s a post where I describe how I overcome this type of problem with a protocol (like a router’s handshake).