Is there a straight uint8 * to float conversion i should be doing here?
*edit: I have also tried threading the UDP streaming, and calling the values from the game thread. I see the same Juddering / jitter in the data.
I have a test case where I send an incrementing float. The received values print correctly, and look fine. But when i assign it as a rotation, the animated object staggers/judders.
packets won’t come to other machine in stable time the ferther from server the more unstable ping can make things even more buggus + UDP does not guaranty that packet will reach destination so there possible data loss (but for your solution this should not be a problem). It’s main reason why most software buffers network streams to stabilize flow of data for feather processing. Games solves this problem by letting client do the visuals (like just giving start position and speed and possiblity sync it again ober time) it also reduces unnecessary bandwidth, then the position is being validated with and in case of interaction then the state is being validated with the state on server. UE4 replication system should deal this for you, so why yo not just use it?
I am testing with a c# udp programme, that sends one number, counting upward, as a string. When I print the received value, it looks right, the numbers are incrementing as expected. But when i assign it to an actor (either with an anim BP, or by reading the values from the thread and SetActorRotation, I see the judder.
Ah i see :> then alternatively you can try to smooth it out with code, i don’t know what kind of device it is but buffering cause lentecy too. You say you use anim BP, then issue might be there, look on data which device sends and see if there something that may cause such behavior, you can try ignoring some data