Skip to main content

Unity Editor Window (Part 3)

Unity Editor Hello, Unity Dev’s I am back again with Part 3 of Creating custom editor window in unity. In today’s blog we will look around: “How to load Textures files from resource folder and create our buttons.” Step1. Gather some images related to the headers of our sub-toolbars or if you are good at photoshop create some, btw I have zero skills when it comes to photoshop so I am goanna gather images from internet. Once we have are images ready drag them into respected folder under root folder Resources. It will look something like this: Step2. Scripting   Now we need to create a function which will be called once whenever we will switch from sub-tabs. Hmmmm, so how to do that!!! First create a function and name it as per your want’s I have named mine as: “MakeWindow” Then write down these lines: Create two variables a list: to store our loaded texture...

Unity Editor Window


Editor Window (Part 1)


In unity, Editor windows are windows which are created by developers to be used by developers in Editor, it’s more like a plugin for Unity editor made by You.
By learning Editor Window scripting, one is able to create any type of windows to ease their work while working in editor.
Official Definition: “Create your own custom editor window that can float free or be docked as a tab, just like the native windows in the Unity interface.

I am going to start a series which will cover almost all the topics related to EDITOR WINDOW. In this series I am going to make a “LevelDesigner” plugin dittoing the zoo tycoon GUI and functionalities.
Fortunately, we will learn about: Creating Editor window, creating all types of GUI, Modifying GUI Skin, Instantiating prefabs loaded from resources, and lots more….

So, tag along with me till the end of this series and let’s see How far we can Go.
I have also just started learning Unity Editor Scripting so it’s not an Expert Blog, we are walking in this journey together.

So, let’s get Started ….

Create Necessary folders

Step1. Create a folder named “Editor”: This folder will contain all the scripts which we want to run in editor.
Step2. Create a folder named “Resources”: This folder will contain our all texture, prefabs which we will load using our scripts.

Scripting

Step1. Create a Script name it accordingly, mine is called AssetManager.
Step2. Add library “using UnityEditor”. After that remove that Monobehaviour and write EditorWindow.
Step3. Write down this piece of code.








Line no. 32 will create an option named Zoo Tycoon and a dropdown panel with option Assets manager in Unity Engine Toolbar.

Line no.33 starts a function, you can name this function anything, just make sure it’s a static function.
After that create a variable named window of type of your script name and initialize it.
To show your window just write “window.show”.

It will look something like this in unity.



Step4. Creating GUI for our Window
To create the GUI for over window we will use OnGui(), and all the code will come within, related to our GUI.

What we are going to MIMIC is something like this:
So 1st we will make a Toolbar.
Declare two global variables as shown below:


toolbarStrings will hold the name of our toolbar’s headers, and _toolbar_sel will hold the value of current toolbar selected.
After that in Your OnGui()
Write down these lines.


In this the main code is on line no. 43 which creates a toolbar with the names stored in are array, and then initialize the current selected toolbar to _toolbar_sel.
GUILayout.BeginHorizontal() is used to make sure our GUI is made horizontally instead of vertically.


 GUILayout.EndHorizontal() is use to help understand compiler that code after this will be made vertically.





GUILayout.Toolbar() is used to create a Toolbar.









Save your script and switch back to unity.



That’s all for Today
In next Blog of our series Editor Window we will learn to create sub toolbar in our toolbar.

Till Than Happy Coding!!!

Comments

Post a Comment

Popular posts from this blog

Creating Gamobject, Adding Components and Removing Components using script.

Today we are going to learn about how we can create a gameobject add components to it or remove components from it using script. Open Unity >>Create new project>>create new scene. 1.Creating Gameobject using script Step1.In your scene hierarchy add empty gameobject and name it ScriptManager. Step2. Create a script name it as per your wants, and attach the script to ScriptManager gameobject. Step3. Write the following code:- This will create a gameobject in the hierarchy with the name specified In ” ”. In our case it’s a cube. As you can see the above script creates a gameobject and add transform component when the object is created as all gameobject have transform component attached to it from the start (e.g. Empty gameobject). In next few lines we added a box collider to our object cube, a mesh renderer and a mesh filter. Save the script and run the project. You will see a gameobject is cr...

Variable scope in Unity

In today’s blog we are going to learn about the scope of variables, and the different ways a function can be created. So let’s get started. Scope of Variables A variable as we all know is a container which can hold a value or multiple values related to its type. Means a Gameobject type variable can hold any gameobject, a Transform  type variable can hold a transform component of any gameobject, etc. But some time a variable declared is inaccessible, that’s due to its " scope of life ". A variable declared in a class is said to be a global variable  to the function and local to the class  where as a variable declared in a function is said to be a local variable of that function. To understand it more clearly any variable defined within “{}” has its scope of life after the “{” starting curly braches till the “}” ending curly braces. Let try to understand with a small example. Step1. Write the following script attach it to any gameobject and hit ru...