Tag Archives: Unity 3d

Unity3D: Get inspector property values programatically

Recently, I found an interesting question in Unity3D. How to get some field value shown in Unity3D inspector programmatically? Largely this is an undocumented area, and it took me some research to get this done.

In what follows, I am getting the value for Input Manage Axes, as shown below:


Read the rest of this entry »

Leave a comment

Posted by on October 25, 2016 in Programming, Unity 3d


Tags: , , , , , , , , , , ,

Using SmartFox with C# (III) : Frequently used functions

If you haven’t read below posts, you might wish to have a quick go through:

Using SmartFox with C# (I) : Installations and 1st handshaking
Using SmartFox with C# (II) : Login and join room

If you are comfortable with above implementations, you might be interested in below frequently called functions. Assuming below variable is instantiated successfully:

private SmartFox client;

To Send a message:

client.Send(new PublicMessageRequest(someMessage));
client.AddEventListener(SFSEvent.PUBLIC_MESSAGE, OnPublicMessage);
private void OnPublicMessage(BaseEvent evt) {
     User sender = (User) evt.Params[“sender”];
     string message = (string) evt.Params[“message”];   

To create a room:

var settings = new RoomSettings(“New Room Name”);
settings.maxUsers = 100;
Settings.groupId = “ChatGroup”;
client.Send(new CreateRoomRequest(settings));
client.addEventListener(SFSEvent.ROOM_ADD, OnRoomAdded);

For a zone, to join/remove a room:

client.Send(new Sfs2X.Requests.JoinRoomRequest(roomId));
client.AddEventListener(SFSEvent.ROOM_JOIN, OnRoomJoin);
private void OnRoomJoin(BaseEvent evt) {
     Room room = (Room) evt.Params[“room”];           
     //room.Name,  room.UserList

For user to enter/leave a room

client.Send(new Sfs2X.Requests.LeaveRoomRequest());
client.AddEventListener(SFSEvent.USER_EXIT_ROOM, OnUserExitRoom);
private void OnUserExitRoom(BaseEvent evt) { User user = (User) evt.Params[“user”]; }

For more information, have a read on SFSEvent class and Sfs2X.Requests namespace will be vey helpful.


Posted by on September 14, 2015 in Dotnet/C#, Programming, Unity 3d


Tags: , , , , ,

Unity3D: Progressbar using new UI system

Before Unity 4.6 new UI system came out, to create a progress bar, the typical process involve writing the OnGUI() function as follows:

public Texture2D emptyProgressBar; // Set this in inspector.
public Texture2D fullProgressBar;  // Set this in inspector.

void OnGUI() 
    GUI.DrawTexture(Rect(0, 0, 100, 50), emptyProgressBar);
    GUI.DrawTexture(Rect(0, 0, progress, 50), fullProgressBar); = TextAnchor.MiddleCenter;
    GUI.Label(Rect(0, 0, 100, 50), string.Format("{0:N0}%", 
progress * 100f)); }


This is OK, however not recommended in the new GUI system in Unity 4.6+: you don’t want to mix the GUI with the new and legacy system, right?

Here is the process to create a progress bar using the new UI system:

Read the rest of this entry »


Posted by on August 6, 2015 in Programming, Unity 3d


Tags: , , , , , , , , , ,

Unity3D: using ReorderableList in Custom Editor

ReorderableList is not a widely used class in Unity3D, but good use of it can make your custom editor more professional.


Read the rest of this entry »

Leave a comment

Posted by on July 21, 2015 in Programming, Unity 3d


Tags: , , , , , , ,

Unity: Detect GUI Window Created/Closed Event

On StackOverflow, someone asks how to detect the GUI Window Created/Closed Event, which Unity3D does not ship an off-the-shelf solution.

Below is my solution to this problem: to use property setter to handle this. Here is the sample code:

enter image description here

Read the rest of this entry »

Leave a comment

Posted by on June 11, 2015 in Programming, Unity 3d


Tags: , , , , , , , , , , , ,

Unity3D: How to create a link button, with fun

How to create a link style button in Unity3D? Here the considerations include:

  1. The link button should look like a label, instead of a button
  2. The link button should work like a button, with clickable responses such as navigating to a URL;
  3. When the mouse hovers, the mouse cursor should look like a hand cursor, instead of the arrow cursor.



Read the rest of this entry »

Leave a comment

Posted by on January 21, 2015 in Programming, Unity 3d


Tags: , , , , , , , , , , ,

Unity3D: how to implement Tabbed UI

Unity3D does not ship with the tabbed UI, however, we can cheat to implement this!

The key ideas include:

  • To use Toggle control
  • To make Toggle control look like a tab control


The following code illustrates how this is done:

Read the rest of this entry »


Posted by on December 27, 2014 in Programming, Unity 3d


Tags: , , , , , , , , , ,