GPS coordinates from survey grade external device via Bluetooth - Spatial Recognition VR


I have a 2-step procedure I’m hoping some of you major codemonkeys could figure out:

Step 1 : Send coordinate data from survey grade GPS equipment to phone.

I know there is several systems out there with Bluetooth functionality, like the Trimble TSC3. I would like this system to send its NEZ values in real time in XYZ = EZN format via Bluetooth to the android phone. The elevation value can be corrected in the Trimble system from antenna relative to VR headset. This code would have to speak in a language that Unity can receive.

Step 2 : Adjust player model location via received coordinates.

This would be relatively easy. Once the phone is receiving these coordinates, have the app acknowledge the data stream and update the character controller position based on these coordinates.

Is location mocking for Android an option? In that case you wouldn’t have to do any specific Bluetooth connection implementation. Use any third party Bluetooth mock location app, running in background and providing any other app the positioning quality form your external receiver. E.g. something like “Bluetooth GPS” (, but probably there is also an app by Trimble itself.
On Unity, the LocationService should than work the same way with or without external receiver.

Oh! I’ve tried mock location and it works like gravy but it’s not really working for iOS because my device isn’t certified nor does the producer plan on it. We’re now directly linking to the feed using a TCP/IP connection. If you can help with that it would be appreciated @i_am_isidor