Exposing properties to the editor is useful, but it can't be used to create complex things.
By creating custom inspectors and editors, you'll have full control over how Unity looks and exposes itself to Game Designers and people who are there to balance the game and play around with your scripts. Your job is to make their job easier, and this can be a good start point!
This course expects some proficiency in programming, so you should be comfortable with C# for Unity before you get started.
This unique content will get you through the whole process of creating nice looking custom inspectors for your scripts, windows and custom properties, but it will also cover quick ways to change the appearance of a script's inspector by using variable and method attributes.
Let's learn what attributes are before we actually jump in the action!
Learn about the Range attribute and how you can improve your code's inspector with it.
Multiline makes the string field even better!
These attributes are made to make your inspector shine by calling the designer's attention to specific areas.
Context menus have been a part of Unity since forever now, but there's not many people that actually know about it nor how to use it. You got lucky!
Let's start off by coding a script on top of which we'll be working.
This lecture goes through the process of defining a custom inspector for the script we've just created and explains a few key aspects on custom inspector creation.
This lecture will take you through the process of adding elements to the inspector and also how to modify your element's Transform via the inspector itself.
The simulate tab is a quick way to preview the interpolation you've just made. Also, you'll learn how to add colors to the inspector to call the attention to desired areas.
Custom inspectors are not constrained to the inspector tab. From this point on, you'll start learning how to add 3D elements to the scene tab!
More on how you can add elements to the scene view. This time, how to add handlers (Those things that control the Transform of your Game Object in the scene).
The scene view can also be used to draw 2D elements like button or whatever else you want! Learn how in this lecture.
The act of building a game should be the smoothest process during the creation, but sometimes errors may occur. In this lecture you'll learn how to avoid errors due to the namespace UnityEditor.
This lecture goes back to the scripting part and doesn't directly deal with the inspector itself. You'll learn how to create a coroutine that takes your Game Object through the path you've created.
Before we get in depth on custom Editor Windows, let's learn how they work1
Let's start by creating the Item base class, which we'll be editing in the editor later on!
Our list of Items must be managed by a, well... Manager class. This is what we're doing in this lecture.
Here's another fun bit! In this lecture you'll learn how to proceed when creating a custom Editor.
Starting our Editor customization, we'll build a toolbar to choose between two ways of editing our list of Items.
In this lecture you'll learn how to access the manager class from an EditorWindow.
Now we're going to draw the Create tab and make the user able to add new Items to the database.
In this lecture we'll check for taken IDs before we add a new item to the database plus we'll solve the non-serializable problem that affects user-created classes. This basically corrects the problem of the instances of the class not being saved by Unity so whenever you press Play or quit the program, your information is no longer there.
Re-usability of code makes it way easier to draw the Edit tab. We will use the same function we've used in the last lecture to draw all the elements we have so far.
After drawing all the elements we've noticed that we need a Scrollbar to let us view them all. Let's do this!
In this introductory video, you'll learn about how do custom attributes (property drawers) work.
Some more information on what a Property Drawer is, since you may have forgotten.
Let's define our own PropertyDrawer class in this lecture. Here's everything you need to know when designing yours.
I don't particularly like the way a bool displays. I'd rather have a button that turns green or red depending on its current state. Well, why won't we do this?
Remember how the Range attribute receives a couple of parameters? In this lecture we'll go through the process of doing this for our own PropertyDrawer!
I'm professional game developer with years of experience in the industry and passionate about learning and teaching.
I've already taught 10000+ students throughout the platforms I worked at! My teaching methods are simple, though highly effective.
In 2015, I developed the main gameplay systems for the first Angry Birds Virtual Reality Experience ever produced for Rock in Rio Las Vegas. Imgnation Studios (where I work at) partnered with Rovio to develop this title. A couple of months later, I had great contribution on the development of Angry Birds Space, a game made in partnership with Rovio and NASA to celebrate New Horizons pass-by Pluto.
Sou um profissional da área de desenvolvimento de jogos com anos de experiência na industria e apaixonado por aprender e ensinar.
Incluindo todas as plataformas nas quais tenho conteúdo publicado, somo mais de 10 mil estudantes! Meus métodos de ensino são simples mas muito efetivos.
Em 2015, trabalhei nos principais sistemas de Gameplay para a primeira experiência dos Angry Birds em Realidade Virtual, produzido para o Rock in Rio Las Vegas. A Imgnation Studios (empresa onde trabalho) fez uma parceria com a Rovio (desenvolvedora original dos Angry Birds) para o desenvolvimento desse projeto. Alguns meses depois, contribuí amplamente no desenvolvimento de Angry Birds Space, um jogo feito em parceria com Rovio e NASA para comemorar a passagem da New Horizons por Plutão.