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

GetComponent()


GetComponent<type>()


In unity every Gameobject has some components attach to it.Components like gameobject’s- transform, image, text, collider, rigidbody, script.
All these are components of a gameobject.
To know the components attach to a specific gameobject just select the gameobject and in inspector all its components can be seen.
Now how to use all this components using script.
This can be achieved in many ways but the basic is using getcomponent<type>() function.


Getting the Whole component


Step1: Write the following code.



Step2: Save the script head to unity, create a gameobject name finder and attach the script.

You will notice that two dialog box will appear one with type meshrenderer and second as boxcollider.



Play the game and you will notice that dialog box will be filled with the cube box collider and cube mesh renderer.


Now we can play with this components and their properties.

Let’s understand what just happened.

If you pay attention to the code we have created two public variables name as Box and mesh to store the component of our cube.
Than we have written gameobject.find with the name specified of gameobject of whose components we need after that we uses getcomponent function.
You can write the code like this as well and it will perform the same way.


Getting the Whole component of Parent

We can also get the component of parent object. Do this we first have to make a parent Gameobject and name it ParentCube and name the previous Cube as ChildCube, So head onto unity and create a new Cube and make it parent of ChildCube.



Do this simple drag the ChildCube into new Cube gameobject.

Step1: Add a rigidbody component to your parent Cube. Do this select parent cube and in inspector click on add component than write rigidbody and press enter.

Step2: Write the following code.


Step3: You will notice that a small box is appeared in inspector of finder gameobject.

Play the game and it will be filed with the rigidbody of your parent component.

 Getting the Whole component of Child

We can also get the component of the child object of any gameobject by using GetcomponentInChildren<>().

Step1: Create a child of object named ChildCube and name its child as Son.
Too create a child of any gameobject either select that gameobject than right click and create the new gameobject or create the new gameobject and drag it into the gameobject you want it to be child of.


Step2: Write the following code.


Step3: Save the script and scene and a dialog box in finder gameobject will be appeaaed named Spherecoll with type sphere collider.
Play the game and script will get the component of son gameobject.





Comments

  1. Thank you! I have been fighting with this for a long time. No one seems to take the time to explain it. Cheers.

    ReplyDelete
  2. Please explain what to do if I need more than one Rigidbody components. Thank you!

    ReplyDelete
    Replies
    1. You can use getcomponents and store it in array or list.
      Check the blog: https://unfragilecoding.blogspot.com/2018/06/getcomponents.html?m=1

      Delete

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

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