Созданием игр на Unity3D, C# будите учить долго. И хорошо его не выучишь, в силу отличий нормального подхода и того что в Unity3D.
Конструкторов нет (Awaik, Start), какие то непонятные методы уже унаследованы в игровых объектах и т.д.. Это не плохо, но и не чистый C#, много нюансов от самого движка Unity3D. (такое впечатление после полного прочтения официальной справочной информации)
Из того что почитать:
1) Jon Skeet C# для профессионалов.Тонкости программирования. (даст общее понятие .Net и C#)
2) Джеффри Рихтер CLR via C# Microsoft.NET. (более глубокое познание местами)
3) Макконнелл - Совершенный код. (приведет мысли в порядок)
4) Martin R. Clean Coder. (небольшая книга, тоже мысли приводит в порядок)
5) Кржиштоф Цвалина, Брэд Абрамс "Инфраструктура программных проектов: соглашения, идиомы и шаблоны для многократно используемых библиотек .NET". (очень мощная книга, учит тому как надо писать, а не просто писать что бы работало)
Первые две про код, остальные про правила написания, важность которых вы почувствуете со временем.