Comunicar Unity3d con arduino

Hola, tengo experiencia en programación para unity y ahora estoy experimentando con arduino.

He estado buscando información sobre como se comunican y de momento solo he descubierto como hacer que unity u arduino se envíen cadenas de caracteres tipo ("hola mundo") u (2) las cuales se traducen a una acción luego mediante otro cógido.

(por ejemplo: en arduino el código dice que se encienda el led si recibe "led" y el botón de unity lleva un script que dice , si pulsas, envias "led")

Mi pregunta es. Existe alguna forma de enviar datos mas especifico de uno a otro?

Por poner un ejemplo:

Para mover un servomotor desde un joysyick en unity, enviar datos sobre la posición del joystick (0-180), como haríamos con un potencio metro solo en arduino, y que el servomotor adoptara esa posición. O al revés, que la posición que adopte pueda mostrarla como interfaz en unity

Lo que no quiero es hacer 180 funciones para cada uno de los 180 grados, que de momento es la única manera que se me ocurre de resolverlo.

Espero que haya quedado claro mi duda y que alguien pueda ayudarme.

Muchas gracias

Saludos.
Si puedes enviar y recibir caracteres, lo que tienes que hacer es hacer una cadena limitada, con por ejemplo el "\0", que es el fin de cadena de caracteres, y luego convertir esa cadena en un valor numerico.

Ejemplo: quiero que se mueva 85 grados, envio "+85" y luego el fin de cadena (o un enter 0x0a), y el convierte estos caracteres en un valor positivo. Si quiero que se mueva a la posicion anterior envio -85 y nuevamente el señalizador de fin. para que lo convierta en un numero negativo y tomar acciones para eso.