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 (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 textures and second an array to load textures files from resource folder.



Line number 110 Loads all the files of Typeof Textured from the respected folder, which is TextureFolder in our code and stores them in _mytextures array.
(Note: _mytextures is of object type which is used whenever we store instances of any files.)

Line No. 112 to 115:
Now we have to convert all our object into Texture2D type and store them into a List.
Line No. 117 to 119:
Next, we need to create buttons as much as we have Texture files in our list.
So, we traverse our list and within our foreach body add an if statement creating button with a parameter of our texture file.
Line No. 107 and 108
OnGUI functions runs at every frame whenever any change happens in unity engine which can cause unnecessary code running so, to avoid that I have added an if statement which checks if list is empty only than create buttons, and once the buttons are created it want run again until we switch between sub-tabs.
Now how to call and from where to call our function with correct parameter.



In our ONGUI() whem we switch between our sub-toolbar which is Line No. 85
We will call our function with parameter.
Out toolbar name / our sub toolbar name
For e.g., Animals/Animal
ToolbarStrings[selection]+ “/” + Sub_folder_toolbar[selection]
ToolbarStrings[selection] if selection is 0 return Animals
ToolbarStrings[selection] if selection is 1 return Buildings
ToolbarStrings[selection] if selection is 0 return Items
ToolbarStrings[selection] if selection is 0 return Staff
Same
Sub_folder_toolbar[selection] if selection is 0 return 1st folder name respected to Tollbar selected.
Sub_folder_toolbar[selection] if selection is 1 return 2nd folder name respected to Tollbar selected, and so on..
One last thing add a else statement if our Sub_folders_toolbar.Length > 0
Which means no sub-tabs will be created and it loads our Staff textures.
Step3. Run the Script and we have our Custom editor ready, in which we can select tabs, switch between sub-tabs and have our custom buttons with Textures.





 That’s all for today until next time…..
Happy Coding!!!

Comments

Popular posts from this blog

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

Graphic Raycaster in Unity

Ever wonder how one can click on GUI elements without using any event script on GUI components. On button click, On value change are some event driven functions of GUI components but what if I want to perform any action without using these event driven function. Well there are plenty of ways of doing it but the one I am going to discuss today is GRAPHIC RAYCASTER. Scene Setup Step1. Create two images, add any sprite to it and change their name to specify them later on. (For this tutorial purpose let’s assume penguin and polar bear) Put the images adjacent to each other. Script Step2. Create a script and attach it to your canvas. Write down the following code. Make sure to call all the libraries. Next is our global variables Graphical raycaster is used to call the raycaster attach to your canvas, Eventsystem is also used to call the event system of canvas. PointereventData is used to kno...

GameObject

In Unity everything we work on is a GameObject, either it is a cube, a car, a plane, UI or Particle effects. Each GameObject have its own component. The basic component in all GameObject is his transform. Transform component is deals with position rotation and scaling of that GameObject. Components will be discussed in later post today we are going to learn about GameObject only. Now as we know all the things in our active scene is a GameObject, but as a programmer how can we access those GameObject and their components using our script. Note: Scripts are also Components of our GameObject. Actually this is pretty easy and can be done in many ways. First Way :  Drag and Drop the GameObject into script in inspector window. Step1: Create a script name it as you feel like and attach it to an empty GameObject. To create an empty GameObject right click in hierarchy window and click on empty GameObject. Step2: Write the following code. ...