Complete Guide for Custom Inspectors & Windows in Unity!
4.7 (22 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
133 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Complete Guide for Custom Inspectors & Windows in Unity! to your Wishlist.

Add to Wishlist

Complete Guide for Custom Inspectors & Windows in Unity!

Looking for ways to make your script a lot more designer-friendly? This is your definitive guide!
4.7 (22 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
133 students enrolled
Last updated 7/2016
Current price: $10 Original price: $35 Discount: 71% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 4.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build your own customized inspectors from scratch
  • Build windows inside Unity that communicate with your scripts by either getting or setting data
  • Develop ways to make your code appear readable by designers so they have control over balancing the game
View Curriculum
  • Download, install and apply for a Unity 5 license
  • Have some C# knowledge and how it works in Unity
  • Have a good understanding of Object Oriented Programming (OOP)

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.

Who is the target audience?
  • Editing your code is always painful? Then this course is for you, because you'll learn ways to increase productivity by developing beautiful customized inspectors to facilitate this task
  • Those game designers always want you to balance the game? Well, this is their task, so give them a good reason to to that by creating readable inspectors and windows to control the entire game
  • Have no experience in Unity whatsoever? This course may not be what you're looking for, as you first should get comfortable with C#
Students Who Viewed This Course Also Viewed
Curriculum For This Course
31 Lectures
Getting Started
1 Lecture 01:53
Fast ways to improve your script's inspector readability
5 Lectures 19:46

Let's learn what attributes are before we actually jump in the action!

Preview 02:50

Learn about the Range attribute and how you can improve your code's inspector with it.

Preview 05:56

Multiline makes the string field even better!

Attribute #2: Multiline

These attributes are made to make your inspector shine by calling the designer's attention to specific areas.

Preview 05:37

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!

Automatizing stuff using Context Menus

Attributes Quiz
3 questions
Customizing The Inspector Of A Script
10 Lectures 02:02:48

Let's start off by coding a script on top of which we'll be working.

Writing Our Base Script (Interpolator)

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.

Defining A Custom Inspector + Understanding GUI Layout

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.

Creating The 'Edit' Tab + Transforming A Game Object Through Its Inspector

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.

Creating The 'Simulate' Tab + Changing Colors

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!

Drawing Lines In The Scene

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).

Drawing Handlers 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.

Drawing Buttons In The Scene

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.

Using Compiler Directives to Avoid Mobile Compilation Errors

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.

Creating a Coroutine to go Through the Path in Game

Inspector's GUI Quiz
3 questions
Creating Windows and Menu Items
10 Lectures 01:34:40

Before we get in depth on custom Editor Windows, let's learn how they work1

Preview 02:01

Let's start by creating the Item base class, which we'll be editing in the editor later on!

Creating the Item class

Our list of Items must be managed by a, well... Manager class. This is what we're doing in this lecture.

Creating a Manager Script

Here's another fun bit! In this lecture you'll learn how to proceed when creating a custom Editor. 

Creating an Editor Window

Starting our Editor customization, we'll build a toolbar to choose between two ways of editing our list of Items.

Creating a Toolbar to choose between 'Draw' and 'Create'

In this lecture you'll learn how to access the manager class from an EditorWindow.

Grabbing information from a EditorWindow

Now we're going to draw the Create tab and make the user able to add new Items to the database.

Drawing the Create tab

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.

Avoiding ID conflicts and solving the non-serializable class issue

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.

Viewing/Removing current Items of the Inventory through the Window

After drawing all the elements we've noticed that we need a Scrollbar to let us view them all. Let's do this!

Viewing all the elements using a Scrollbar

Editor Windows Quiz
1 question
Writing Custom Attributes (Changing bool Default Look To A Toggle Button)
5 Lectures 30:37

In this introductory video, you'll learn about how do custom attributes (property drawers) work.

Preview 02:13

Some more information on what a Property Drawer is, since you may have forgotten.

Property Drawer Refresh

Let's define our own PropertyDrawer class in this lecture. Here's everything you need to know when designing yours.

Defining our PropertyDrawer Class

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? 

Writing Toggle Buttons (Custom Look) for bools

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!

Passing Extra Data to a Property Drawer
About the Instructor
José Augusto Thomas
4.5 Average rating
1,416 Reviews
9,471 Students
5 Courses
Professional Game Developer


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.