Tag. Beschäftige mich auch seit relativ kurzer Zeit mit Unity.
Also als Programmiersprache ist C# ein MUSS. Es ist objektorientiert, in der Industrie die Norm und sehr flexibel. Kann dir das nur wärmstens ans Herz legen. (Java gibt es in Unity nicht...nur JavaScript)
Ob du mit Unity anfangen sollst oder nicht ist deine Sache..es ist natürlich wie alles, was man so lernen will, sehr zeitaufwändig. Es hat auch einige Eigenheiten die in anderen Game Engines nicht vorhanden sind, aber ich finde diese sehr vorteilhaft. Es ist anfangs vielleicht ein wenig ungewöhnlich, was die Script-Arbeitsweise angeht, dennoch sehr handlich und überschaubar.
Wenn du noch keine objektorientierte Sprache kennengelernt hast, würde ich dir raten vorher erst C# genauer anzuschauen. Die Arbeitsweise von prozeduraler zu objektorientierter Entwicklung ist sehr anders. Bei weiterem Fortschritt würde ich mir auch die Design Patterns der Spieleentwicklung anschauen. Das hilft auf jeden Fall zum Verständnis von bestimmten Architektur-Problemen.
Ich habe mich sehr gut mit einem deutschen Buch für Unity eingefunden:
Da wird eigentlich das wesentliche gut erklärt. Desweiteren kann ich noch die Training-Sektion von Unity selber empfehlen. Sehr gute und viele Beispiele. Auch die Dokumentation ist sehr gut geschrieben und hilfreich.