You can substantially improve UDP reliability by sending "ACK" packets...
The protocal is simple...

Server side...
Send data blob
Wait for ACK

Client Side...
Receive blob
Send ACK