Unity için C# kullanmalısın ki zaten Unity kullanırken Java ile kodlayamazsın. Her ne kadar süleyman demirel üniversitesindeki bir hoca akademik makalesini yazarken öğrencilerinin yarısının Unity'de Java'yı kullandığını söylese de Unity'de kullanılabilen tek dil C#'tır.
Önce C#'ta temel programlamayı bilmiyorsan onları öğren if for foreach while Switch gibi. Daha sonra C#'ta nesne tabanlı programlamayı öğren sınıfları ve metotları doğru şekilde kullanmayı iyice öğrenmelisin. En sonunda da Unity'de oyun yapma videolarıyla kendini sınayabilirsin. Unity'nin kendi Tutorial'ı da var ve bence çok kaliteli ama uzun sürebiliyor eğer sabırlı değilsen.
3D için önerim YouTube'da Blender donut Tutorial'ını yaklaşık 10. videoya kadar bitirip modellemeyi öğrenmendir. Ama tasarım kısmı sadece bununla sınırlı değil daha önünde rigleme animasyon texture çevre tasarımı gibi çok yorucu şeyler var.
Tavsiyem eğer amacın sadece Unity'de araba oyunu yapmak ise YouTube'da binlerce baştan sona araba oyunu yapma videosu var Türkçe kaynak da var birini aç başından sonuna kadar adımları takip et. Muhtemelen aynısını yaptığın halde hatalar alacaksın ama yılma bir şeyleri yanlış yapıyorsun. Fikrin çok güzel olsa da süreçte çok fazla kan, ter ve gözyaşı var.