hg not found in Jenkins

This is an interesting one. Let’s get cracking – El capitan 10.11, Jenkins 2.19

  1. Go to http://localhost:8080/systemInfo and see the value for PATH. Most probably it is /usr/bin and not /usr/local/bin
  2. Check ‘which hg’ in terminal and this will point to /usr/local/bin
  3. So, this means Jenkins should now have the path /usr/local/bin and not /usr/bin since hg  is installed in /usr/local/bin in mac. In my case I am running El Capitan 10.11.6 and this does not allow symlink to /usr/bin
  4. sudo vi /Library/LaunchDaemons/org.jenkins-ci.plist 

  5.  Under the EnvironmentVariables key you will see a <dict>
  6. Add


  7. Stop Jenkins
    1. sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

  8. Start Jenkins
    1. sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

  9. Go to http://localhost:8080/systemInfo and you should not see the updated path
  10. And hopefully, hg works this time. Enjoy!

UUEX v1.0. A UI Framework on top of UGUI.

If you have come here as a game developer then you are mostly familiar with the post. For a very long time we all used the legacy UI system from Unity3D. It was all ok until the games were ported to mobile and a little profiling for performance revealed a serious drop in frame rate due to the amount of draw calls by the legacy UI. Developers complained, Unity heard and then Voila! .. out came the new UGUI system.

UGUI definitely gained its inspiration from NGUI which for a long time nailed the way UI was handled. Imagine an entire UI sharing the same sprite sheet rendering in a single draw call. That is pretty awesome. So, long story short, Unity managed to replicate NGUI within its framework and made it available built into the engine.

However, it is still a hassle to manage every UI, its canvas, the events, callbacks, animations and so on. While it possible to achieve all of this with the wide and amazing array of components in the UI system, it is still very manual and specific to a particular UI… and sometimes cumbersome.

Let’s say you had a UI and a controller wanted to know when a button was clicked, you would have to add an event to the button component in the UI. Wouldn’t it be nice to have a wrapper around this and make it more dynamic instead? UUEX does that. What if you wanted to populate N items in a menu, each containing its own image or sprite downloaded from the internet dynamically? UUEX does that.

No need to find a canvas, or worry about dragging and dropping the game object for events. Use the easy to access menu to add a UI, UI Element and listen to events triggered dynamically. I will very soon provide a short tutorial on how to create a UI and get the show going. Meanwhile you can download the first version in the link below. Let me know what you think.

UUEX v1.0