top of page

This course is part of Professional Unity Developer Program

Level 1

Advanced Unity Development

A unique and intense course that will improve your skills up to a professional level. You will learn advanced techniques, tools and approaches used by senior Unity developers at the top gaming companies.

10 weeks

עברית

4 projects

Certificate

level_1_unity_logo.png

May, 02 - Jul, 04

COURSE OVERVIEW

About the course

Over a period of 10 weeks you study the various techniques used by the industry professionals step by step. We focus on improving your C# proficiency and introducing you to the inner structures of Unity and .NET. This course will teach you the unique methodical way of creating a solid game structure, guiding you through the writing process of a high quality and well structured code, instead of a so-called ‘spaghetti’.

What you'll learn

Abstractions. We will learn in very details C# abstract classes and interfaces

.NET Internals. How .NET memory management works, mechanism of object reference counting, instance and static objects

Scriptable Objects. We will learn advanced techniques of using Scriptable Objects for creating versatile architectures.

Architecture. We will study and practice the principles of creating maintainable and flexible game architecures

S.O.L.I.D. The practical uses of SOLID principles

Async/Await. Writing and asynchronous code using async/await, getting familiar with UniTask framework

Networking. We will learn to build games that asynchronously communicate with the server

what_youll_learn

LEVEL UP YOUR SKILLS

Improve your skills up to a professional level in a period of 10 weeks!

STAND OUT OF A CROWD

Become stronger than hundreds of other Unit developers and juniors!

ACCELERATE YOUR CAREER

Gaming studios are searching for the top professionals in the field. Become one of them!

TARGET AUDIENCE

This course is for you

This course is for people that have strong passion for game development and those who are serious about career in gaming industry. 

Important. Prior experience in Unity engine is required. Unity junior is minimal level.

UNITY JUNIORS

Developers who have successfully completed a basic Unity course, who are able to write C# scripts; know the basics of OOP; fluent in Unity Editor; know how to build complex prefabs and scenes and how to create materials and animations

EXPERIENCED UNITY DEVELOPERS

Unity developers with 1.5-2 year of working experience who seek to upgrade their skills to an advanced level, enlighten themselves about the modern approaches for game development and learn to plan and implement an architecture.

target_audience

WHAT'S INCLUDED

Immersive learning experience

We know that learn advanced techniques is a challenging task, so we designed learning experience that will let you study the material in a most effective way. 

wats_included

10 LIVE SESSIONS

Weekly interactive sessions. Watch, ask, learn, improve.

LEARN FROM EXPERTS

Learn from industry professionals with many years of experience of work in top gaming studios

4 LEARNING PROJECTS

Work on a gaming projects designed specifically for the course

16 EXERCISES

Exercises for practicing the studied knowledge and techniques

CODE REVIEWS

We will check your exercises, give your a feedback and help to perfect your code and improve your skills

LEARNING MATERIALS

Learning materials for every subject + links to related online resources

COMMUNITY

Join our community, network, share your ideas with gamedev enthusiasts like you!

CERTIFICATE

You'll be awarded a signed certificate on a completion of the course

SYLLABUS

syllabus

10 weeks

2-3 exercises weekly

WEEK 1

Introduction to architecture and analysis.  View-Data separation

We will begin the course with a unique analyzing and code structuring method. This method was developed within Vector School. Its main goals are are learn to see the games as a puzzle which can be assembled in any desired combination, properly structure the code and avoid writing the ‘spaghetti code.

We will study one of the basic concepts in code organization - View-Date separation. This concept is essential for understanding many other approaches and design patterns; it is very widely used in the game development industry.

WEEK 2

Memory Management, GC, Internals of delegates, callbacks and events

Naturally, a lot of attention is paid to the efficiency of games. Therefore, knowing well the inner mechanisms of .NET and it's Garbage Collector is essential for creating a world class games. Along with those mechanisms, we will study the specifics of working with events and callbacks, which always must to be taken into account while writing a game code. In addition, we will examine the differences between static and instance objects.

WEEK 3

Timers. Using Unity functionality outside MonoBehaviours

In the process of the project creation you’ll be introduced to a technique that allow you to use Unity functionality like Coroutine launching, Update and FixedUpdate outside MonoBehaviours. You’ll learn to use this technique to create useful services and reusable timers.

WEEK 4

C# Abstractions. Abstract classes

You’ll be introduced to the concepts of Abstractions and Polymorphism, study the principles of building extendable and maintainable games using abstract classes. You’ll also learn how to avoid writing a tightly coupled code and how to use S.O.L.I.D principles in practice. Abstract classes is one of the most powerful tools for building flexible architectures. Perfect mastery of Abstract Classes and Interfaces is expected of every professional Unity programmer.

WEEK 5

C# Abstractions. Interfaces

We will build a Tanks game, see main use cases of C# interfaces, continue to learn S.O.L.I.D principles, and understand the differences between interfaces and Abstract classes. Similarly to Abstract classes,
interfaces are also used to build flexible, extendable and maintainable game architectures, therefore they are crucial to understand.

WEEK 6

Building UI advanced indicators system

We will continue to work on Tanks game and develop a flexible and extendable system of displaying UI Indicators and work on improving the technique of using C# interfaces, building abstractions, and writing a loosely coupled code.

WEEK 7

Async programming, UniTask library

We will examine the differences between a synchronous and an asynchronous execution models, and learn how to write an asynchronous code using the popular library UniTask. Writing coroutines won’t be necessary anymore - with async/await you’ll be able to write a clearer and more intelligible code than coroutines.

WEEK 8

Networking and Task cancellation

Starting from this week and till the end of the course we will be working on Slots (slot machine) project. Here we will go through the principles of building Client-Server games. We will develop an asynchronous system of sending requests to the server, parsing the answers and handling the errors. 

WEEK 9

Building advanced Popups System

We will create a flexible and extendable system for display in-game popups, discuss the potential problems working with memory and learn to solve them using the Adressables system. Additionally we will continue to sharpen the skills of using Abstract classes and interfaces.

WEEK 10

Game data storage system

In 99.9% of games it is required to save the player’s data. We will learn how to build a flexible and expendable data saving system.

THE PROJECTS

Over the course period we will work on 4 different game projects. Those projects were created especially for practicing techniques and approaches included in the course. Many of the learned techniques are universal, and you will see that they are possible to apply in every game type.

The learning process is simple and effective. It aims for the best material implementation. Every week of the course is built in the following way:

Watch and Learn

Attend a weekly online lesson, learn by watching, pay attention to the presented code examples and ask questions.

Exercise

Do the exercises, implementing the learned materials while coding.

Code Review

We will check your work and give you suggestions for improving your code.

Improve

Take the recommendations in account, upgrade your code and sharpen your skills.

MEET YOUR INSTRUCTOR

Learn from industry professional

PAVEL RUMYANCEV

GAMEDEV CONSULTANT, GAME ARCHITECT

I’ve been working as a professional programmer for over 15 years, 9 years of which are in the gaming industry. I worked at companies such as Playtika, Jelly Button, diwip (Tangelo) and more, in the positions of Senior Unity developer, Unity Team Leader and R&D manager. My experience has taught me exactly which skills are required for every game developer in order for him to create a successful career in the industry. I created this course in order to share the knowledge I’ve accumulated throughout the years and assist talented and passionate game developers in becoming real Unity professionals.

instructor

TESTIMONIALS

What our graduates say about the course

Igor Kheison

Igor Kheison

Iron Source
average rating is 5 out of 5

"...After joining Vector School, I can say with certainty my game dev skills improved. Now I can more easily implement design patterns and complex game architectures..."

Mark Khrizman

Mark Khrizman

Cookie Games
average rating is 5 out of 5

"... My technical skills have improved a lot. Now I can solve way more complex problems using professional approaches. Received a lot of practical advice from Pavel. I definitely recommend this amazing course..."

Lena Grigorian

Lena Grigorian

Intel Israel
average rating is 5 out of 5

"... This course covers very important gamedev concepts and allows constant code writing, which for me was very important. Learning architecturing skills helped me to plan better my own projects implementation..."

Ophek Ozelle

Ophek Ozelle

Asgard Systems
average rating is 5 out of 5

"...I'm so grateful to Pavel and Vector School. Thanks to him I upgraded my career and gained invaluable confidence in my Unity expertise. He is super professional, and his teaching skillful and sensitive. ... "

testimonials

ENROLLMENT PROCESS

Joining the course can be done very easily in 3 simple steps:

Enroll

Reserve your place online by filling your contact details

Get all the details

You will receive an invitation to an open session by email. It’s a Zoom meeting where you will be able to ask questions and get all the information you require about the course and the school.

Join

Once you’ve decided to take the course, we will send you the payment instructions. Access to the course’s materials and invitation to the online lessons will be granted to you immediately upon the completion of the payment.

PRICING

Simple and transparent

We prioritize transparency of our pricing model and are proud of the accessibility and affordability of the course for the game developers’ community.

pricing

Temporary the course is available to ISRAEL market only.

Not from Israel?

PROFESSIONAL UNITY PROGRAMMING

10 online live lessons

4 game projects

4400

16 exercises

Code review and mentoring

Recordings of live lessons

Enroll now

Access to Vector community

Access learning materials

May, 02 - Jul, 04

Got a question about this course?

We are happy to answer any questions about the course, the syllabus, projects and the rest.

bottom of page