#3 Yo también soy programador, llegué al mismo punto en el que estabas tú, y me tiré un par de días viendo cómo iba el tema... y decidí hacer 2D . Más que nada, por la cantidad de tiempo/recursos que requiere hacer modelos 3D de calidad, lo que no quita que si quieres hacer un edificio, por ejemplo, no puedas hacer uno sencillito rápidamente con geometría aditiva y "substractiva?"
Por ejemplo, hacer un prisma rectangular que sea el edificio, hacerlo "hueco", con cierto grosor, y "restar" de ese prisma otros cubos que serían los agujeros de las ventanas, y otro para la puerta. Si te quieres poner a hacerles alféizares, rodapié y demás... Pues a tragar tutoriales.
El UV mapping es lo que dice #4. Como ejemplo:
Por un lado va el modelo en 3D con su geometría, al que le vas a aplicar una textura plana. Mediante UV mapping relacionas (insisto, soy un aficionado) vértices del modelo con coordenadas de la textura, de forma que sepas dónde se va a proyectar cada vértice y cómo se va a apilcar la textura.
En cuanto a reutilizar, también como te han dicho: quieres hacer una calle en la que quieres meter 5 banquitos y 4 cajas de madera. Modelar y texturizar 5 bancos y 4 cajas implica 9 modelos + 9 texturas distintas, simplificando todo (estos modelos y texturas hay que cargarlos en memoria, por ejemplo). Lo lógico sería que tuvieras 1 banco y 1 caja, y múltiples instancias (en unity, los metes en un prefab, y luego creas copias de ese prefab) de cada uno de ellos.
Las texturas, tanto en Unity como en el editor 3D que uses, irán asociadas a un material. En unity podrías entonces, por ejemplo, cambiar en una de tus cajas, en el material que uses, el color base, para hacer que tenga un color distinto. O podrías, en una de las cajas, reutilizar tu modelo pero aplicarle una textura distinta, para tener una caja con otro aspecto. O si hicieras un coche, tener un material distinto para la carrocería y otro para las ruedas. Dos instancias de ese mismo modelo podrían compartir, además del modelo, la textura/material para la carrocería, pero a uno de ellos le aplicas una textura distinta para las ruedas, con otro color, patrón, etc.
Es el mismo principio que aplica para el 2D: no creo que nadie dibuje, en un juego de tamaño considerable, cada pequeña parte del background (o foreground) de los niveles. Haces un fondo que puedas repetir en mosaico (tile), por ejemplo.