¿Cuál es la mejor manera de comenzar a aprender Unity3D, aprender el motor o programar primero?

No he escuchado nada más que cosas buenas sobre los materiales de capacitación de Unity. Tienen una sección completa de su sitio web dedicada a esto:
https://unity3d.com/learn

Tienen tutoriales gratuitos: https://unity3d.com/learn/tutorials

Tienen seminarios web gratuitos en vivo: https://unity3d.com/learn/live-t…

Y han pagado cursos ($ 150 por 3 meses / $ 250 por 6 meses) que ofrecen un curso completo de más de 20 horas que va de la A a la Z sobre cómo hacer un juego. https://certification.unity.com/…

Creo que es una buena idea aprender a programar a través de la construcción de algo en Unity de forma guiada. La Universidad de Rice, por ejemplo, tiene un gran MOOC donde básicamente enseñan programación en Python a través de la construcción de juegos GUI simples. Curso muy exitoso. Así que es un modelo probado. Es una excelente manera de motivarse y sentir satisfacción, y las cosas son más concretas cuando las aplica.

Así que diría descargar Unity, la edición gratuita. Y descargue la edición de la comunidad de Visual Studio. Y empieza a repasar los tutoriales desde el principio. Aprenderás a programar, aprenderás a Unity y aprenderás algo de C #.

El motor no es difícil de aprender, debe construir una buena base de programación.

Hay muchos tutoriales y la documentación no es mala. Si empiezas a aprender el lado de la programación, aprenderás el motor eventualmente.

Buena suerte.