uGUI Panelmanager

Asset Store Link

The uGUI Panel Manager helps you with managing your Screens (or Panels).
You can set up GUI transitions with ease (with built in tools or with utilization of the Unity-Animator).
It manages your Panels in Play (in your Game) and Edit mode!
Call functions of your scripts every time a specific screen shows up or gets pushed away.

WORKS ON UNITY 4.6 PRO & FREE (&HIGHER)

Features:

  • manage panels in edit mode
  • manage panels and their transitions during play mode
  • use built in animation system OR Unity’s animator for panel transitions
  • set Main Panel to show on start
  • call specific functions on “beforeShow”, “afterShow”, “beforeHide”, “afterHide”
  • panel-switcher component for buttons
  • easy script calls for triggering panel-transitions
  • blazing fast gui flow creation

Asset Store Link

Short Overview Video:

 

Tutorial:

 

 

Patchnotes

 

1.3.1

  • Feature: added transparency in panel transitions
  • fixed timing with calling methods on state change
  • fixed bug where you can’t delete state change methods

1.23

  • fixed null selection on add switch panel component
  • fixed not saving the option to show main panel instant
  • added instant option to switch panel component
  • deleted “this.” in this.ManagedPanelGUI(Panel); in the uGUIManagedPanels_Editor. VS2013 threw an error when attaching to Unity

1.2

  • Fixed bug were Methods (before enter state and before leave state) where not called when transition duration was zero
  • Fixed bug in PanelSwitcher component where hiding a hidden panel resulted in showing it
  • Fixed Null reference bug in PanelSwitcher component
  • Added: You can now set MainPanels to show instant on Start or SceneSwitch
  • Added: You can now have multiple mainPanels
  • Changed Calling Methods on changing state from to UnityEvents (previously Methods where called with „SendMessage“)
  •  Change: exposed
    • public static uGUIManagedPanel FindPanel(string name)
    • you can now get the instance or the GameObject of any panel by calling
    • uGUIManager.FindPanel(“PanelName”).CachedGameObject

1.1
The 1.1 version of the uGUI Panel Manager is now live in the AssetStore.

Version changes:
*Moved uGUIMenu.cs to Editor Folder
Rename ManagedPanels_Editor.cs to uGUIManagedPanels_Editor.cs

*The panelManagers Animatios can now animate panels with fixedDeltaTime so also working with (Pause on == TimeScale == 0)

*Fix issue: Panel flagged as MainPanel didn’t properly animate when it was already shown in EditMode

*Fix issue: multiple state change calls will now result in the panel moving to the last called state

Advertisements

23 comments

  1. How are multiple panel managers being supported? We load scenes additive and have issues regarding multiple panel managers (managing different canvas). Is there some kind of options here, like ‘handle children only’? Regards, Felix

  2. Hi Stefan, I have started getting VS2013 throwing an error in your UGUI_managedPanels_Editor.cs file when attaching to Unity. I have installed your latest update but same problem. Unity still runs the app fine but I can lo longer attach from Visual Studio.

    It says that:

    Error 2 Member ‘uGUIManagedPanels_Editor.MangedPanelGUI(uGUIPanelManager.uGUIManagedPanel)’ cannot be accessed with an instance reference; qualify it with a type name instead

    in :
    public override void OnInspectorGUI()
    {
    this.MangedPanelGUI(Panel);
    // DrawDefaultInspector();
    if (GUI.changed)
    {
    EditorUtility.SetDirty(target);
    }

    }

    Any idea what is going on here?

    I haven’t added any new managed panels (just one unmanaged). I have added a few images to existing managed hough, but I really don’t see that causing this type of error.

    Sorry if this is the wrong place to get tech support, but I can’t find any other contact details for you. I’m a bit stuck at the moment, this is holding up further development. I am sure you understand. 8)

    Feel free to email me you need to.

    Thanks and awesome little plugin, nicely done.!

    1. Hi, Sorry for that i’m mostly on a mac so i let that on slip apparently … i will take a look at this asap!
      In the meantime try debugging with MonoDevelop that worked for me 😉

      1. Thanks Stefan, appreciate the quick response.

        Working fine in Mono, I just hate the debugging facilities 8).

    2. Just delete the “this.” in this.ManagedPanelGUI(Panel); in the uGUIManagedPanels_Editor. VS does not seem to like this. reference to static Methods. (fix will be included in next update)

      1. Its working on my end just rechecked … is it possible that you have a custom script or class that is called Button ? Like Button.cs or Button.js that kind of overrides the Button class of the UnityEngine.UI namespace?
        if so Either try rename your script / class or rewrite the lines
        private Button cachedButton;
        public Button CachedButton

        of my script to

        private UnityEngine.UI.Button cachedButton;
        public UnityEngine.UI.Button CachedButton

        hope that helps!

  3. Hi Stefan

    Wanted to check if i can create transitions between different menus/canvases in same scene based on button clicks in each menu.

    I have multiple menus for user to make selection before we proceed to desired scene.

  4. Hi Stefan
    I purchased your assets and it works pretty well.
    However I have a strange issue recently on all panels to which I added the UiManagePanel.cs script:
    “Getting control 15’s position in a group with only 15 controls when doing Repaint”
    Do you where comes the problem from?

  5. Hi, on latest Unity 5.5.1 the following warning appears, just curious if you have a fix for this planned?

    OnLevelWasLoaded was found on uGUIManager
    This message has been deprecated and will be removed in a later version of Unity.
    Add a delegate to SceneManager.sceneLoaded instead to get notifications after scene loading has completed

  6. Hey Stefan

    I’m wondering the best way to achieve the following scenario:
    I have 4 buttons that all toggle the same panel between ToggleIn and ToggleOut.
    I need these state transitions:
    1. If current panel state == ToggleOut, then change to ToggleIn (already works)
    2. If current panel state == ToggleIn and buttonPressed is same as buttonPressed at last state change, then transition to ToggleOut
    3. If current panel state == ToggleIn and buttonPressed is different than buttonPressed at last state transition, then transition to ToggleOut, and then transition back to ToggleIn

    I’m sure I’m going to need to add some custom code to do this, but I was hoping you’d give me some ideas for the best way to go about it given your familiarity with the ugui panel manager.

    Thanks in advance for any help.

    1. Hi Dan, im not sure i understand point 3 correctly … what is button pressed is different then buttonpressed at last state glad u git the rest working! You can always look up the current panel state when referencing or us find() on manager to get the current state of the panel May this already helps to write your custom code. Otherwise please tell me more about point 3 🙂 cheers

  7. Hi

    I’ve used this and this is really great! I tried it out and it worked in seconds.

    I have a question: I’m using unitys built in toggle button. The ugui panel manager documentation States I can attached a ugui managed panel script component to a any button ( in my case I’m trying to attach it to a toggle button ), however I get an error from unity, stating that I only one button component to a game object

    On top of that: I tried using my toggle buttons, using the “on click” functions to call the show and hide of other managed panels but it does not work

    How do I get the to call show and hides from a normal toggle button?

    1. You basically can use it with every component … but as default its set up for buttons … i’ll add more default in the upcoming updates … but you can easily extend it to work with not only buttons just look in the uGUIPanelSwitcher.cs the script is really slim and easily extendable. Cheers

  8. In future updates, I think it would be cool to have multiple managers. For example, one manager manages a set of elements and another manager manages another set of elements. To further explain, let’s say you have manager1 that manages UI elements A, B and C. And then manager2 manages UI elements D, E and F. And these would be set my the user via a public field or drop down menu.

    This is just in case the user needs to have multiple popup elements

    You’re plugging is superb. Looking forward to future updates

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s