¿Puedes crear una aplicación decente que no sea un juego usando Unity?

Sí, pero espere una descarga de batería más rápida y algunas complicaciones innecesarias en el camino.

Unity no está realmente orientado a la creación de una aplicación GUI clásica, pero nada impide que se cree dicha aplicación. El marco basado en Gameobject le permite representar elementos de la interfaz como, por ejemplo, sprites, y también hay un marco de diseño de componentes básico que es ligeramente similar al QLayout de Qt (excepto GridLayout, que apesta en Unity). Hay un motor de representación de texto decente con soporte básico de texto enriquecido.

Por lo tanto, podría hacer una representación basada en objetos / prefabricados de lo que sea que esté tratando de dibujar e implementarlo en la unidad.

Los problemas son …

  1. Los juegos vuelven a dibujar la pantalla todo el tiempo. Sin escalas. Este no es el mejor comportamiento para una aplicación “normal” en un dispositivo de baja potencia.
  2. Faltan algunas abstracciones de nivel superior y deberán escribirse desde cero. Por ejemplo, varios marcos de modelo / vista, tablas, etc.
  3. El manejo del recorte es incómodo (bueno, simplemente no está allí), a menos que saltes a través de muchos aros y lo implementes tú mismo.

Entonces … sí, podrías hacer una aplicación decente que no sea de juego. Probablemente incluso un traje de oficina completo. El motor no es muy adecuado para este tipo de trabajo, PERO puede usarlo para este propósito si realmente lo desea.

En el nivel más bajo, podría tratar la unidad como una envoltura gráfica de la API para la representación de polígonos, y simplemente generar UI dinámicamente a partir de triángulos y texturas, y luego renderizarlo.

Habrá mucho trabajo ocupado, por supuesto, pero se puede hacer.

Aún así … usar algo como Qt para la aplicación es una opción mucho mejor.

¡Sí!

¿Pero por qué lo harías?

La unidad es un gran motor increíble. En su mayoría, todo está bien y ha recibido algunas actualizaciones enormes como PostProsessingStack y Cinemachine, un sombreador increíble.

Todo lo que hace es muy poderoso y muy especializado para juegos. También necesitan mucha batería y hacen que el tamaño de su paquete de aplicaciones sea mucho más grande.

¡Estas son 2 enormes partes importantes de su experiencia de usuario!

Además, los elementos de la interfaz de usuario en Unity no son tan buenos como los componentes nativos que puede usar al programar Nativly.

Una mejor manera de hacerlo, si desea CrossPlatform en dispositivos móviles para aplicaciones cotidianas, sería uno de esos:

  • XAMARIN: una herramienta de Microsoft, donde puedes programar en C #. Se utiliza para la mayoría de las aplicaciones hechas de Microsoft. Se ejecuta en:
  • IOS
  • Androide
  • Windows UWP
  • REACT NATIVE: una biblioteca de Facebook, donde puedes usar JSX (un superconjunto de JavaScript). Usado por Facebook para Instagram y Facebook. Se ejecuta en:
    • IOS
    • ANDROIDE
    • Windows UWP

    Ambos usan componentes nativos y son muy efectivos.