The memo is designed for those who want to learn Unity and completely inexperienced people who decide to try to find a job as a programmer. If you just need to relearn from another language or stack, then read diagonally. This is by no means an exhaustive instruction for use, I will be happy to supplement and correct the material according to the advice of bearded seniors)
0.The best time to start learning is today
Trite, but true. It is better to study for at least 15 minutes a day than to wait for a magical moment.
1.Unity has great tutorials
Start with the basics:
https://learn.unity.com/pathway/unity-essentials
Here you will be explained in detail and in an accessible way what roles exist in development teams, what the Unity engine is and where it is used, how not to get lost in millions of panels and menus, etc.
As you noticed, all Unity Learn materials are in English, but it doesn’t matter.
Firstly, sooner or later you will still have to tighten up your language at least to the level of grade 9.
Secondly, it is much better to google problem solving in English, so you will have access to a much larger amount of information.
Thirdly, the ability to read technical literature and documentation in English will be a good item in your future resume.
Fourthly, all the material is written in a very simple and lively language with an abundance of jokes. Subtitles are available for almost all videos.
Finally, Google translates the content of the pages quite tolerably.
When you get comfortable, it’s time to move on to more practical skills:
https://learn.unity.com/pathway/junior-programmer
2. Site about c#
Any site for learning c#. For example https://www.learncs.org
Leave a comment if you know more useful site.
3.RTFM
READ THE FUCKING MANUAL
Quirks, of course, jokes, but the official manual is really very useful and also contains good examples of practices and code. Do not be lazy to read it, and not just the first link to stackoverflow in Google.
The same goes for the Scripting API.
https://docs.unity3d.com/2020.3/Documentation/Manual/UnityManual.html
4. Style code
A rather hot topic, including recommendations on naming, style and code design. Someone relies on the official C # Coding Conventions, someone believes that the style is not wrong, but only unaccepted in this particular team. In short, it’s like a matter of etiquette – it’s better to study and wind it up, but apply it to the place and not holivare over trifles.
https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/coding-style.md
Site for formatting ugly ugly piece of code into formatted beautiful code online https://codebeautify.org/csharpviewer
5. Patterns, refactoring and other buzzwords
Game programming templates will help you use typical architectural solutions, and not reinvent the wheel for the hundredth time. It is not necessary to know everything, but I advise you to read it.
Refactoring will help you keep your code relatively clean and tidy. In my opinion, the topic is well covered here: https://refactoring.guru/en/refactoring
6. Additional info
Feel free to rummage through as many sources of information as possible. Here I will list only some of the places that I liked.
Channels with video tutorials and examples of feature implementations from various Unity games:
https://www.youtube.com/c/CodeMonkeyUnity
https://www.youtube.com/c/brackeys/
https://www.youtube.com/c/inScopeStudios/playlists
Man writes rpg Learn Unity Engine and C# by creating a real top down RPG [FULL COURSE][C# Unity Tutorial] https://youtu.be/b8YUfee_pzc
Online book in case you want to learn more about version control systems, or rather about git: https://git-scm.com/book/en/v2/
An online book in case you want to properly smear yourself with materiel, namely the mat apparatus for 3D graphics and analytical geometry: https://gamemath.com/book/intro.html
A site with a huge number of programming tasks of different levels of complexity. They are more of a sports interest than a practical one, but they can dilute the learning process well and entertain: https://www.codewars.com/
7. Interviews
That for which everything was started. I won’t say that I have a lot of experience in interviewing, so I’ll just leave links to other people’s materials.
The most complete and helpful guide I’ve come across. Although half of the questions at my social security meetings were not from the list presented, understanding the general process helped a lot not to get confused:
Questions about C# and .NET
emty for now
8. Books
As you can see, all the materials that I have already left links to were free and public. Now let’s talk about books, no matter how you get them
CLR via C#. Programming on the Microsoft .NET Framework 4.5 in C# Richter Jeffrey
This book details the internals and operation of the Microsoft .NET Framework version 4.5 Common Language Runtime (CLR). The book will teach you how to build truly reliable applications of any kind, including using Microsoft Silverlight, ASP.NET, Windows Presentation Foundation, and more.
The fourth edition has been completely updated to meet the .NET Framework 4.5 specification, as well as Visual Studio 2012 and C# 5.0. From the abstract
Game Development with Unity 2018 in 24 Hours Mike Geig
A little bit of everything, well suited as a review material for beginners.
Unity in action. Multiplatform C# Development Joseph Hawking
Well-structured material with an abundance of listings (sometimes there are typos) and a description of some of the algorithms and techniques for designing games. Not suitable for complete beginners in programming. Suitable for rolling into Unity if you already know how to write at least some code.
We rock algorithms. An illustrated guide for programmers and the curious by Aditya Bhargava
An excellent reference for an introduction to basic algorithms. Not all topics are relevant in game development, but a good foundation is being laid.
The code. The Secret Language of Computer Science Charles Petzold
An excellent scientific pop with a description of the operation of coding systems, electrical devices, prototypes of modern PCs, historical excursions and just interesting information. Highly recommended for reading in your free time.
The mythical man-month, or How software systems are created Frederick Brooks
Netlenok about the history of the development of the software development industry, the organization and management of the workflow.
Finally
I left a lot of links, there is a huge amount of information on the Internet. Don’t be scared, you don’t have to learn it all from cover to cover)