Search Unity

uPI(e) Menu - Radial Menu

Discussion in 'Assets and Asset Store' started by Yearn, Apr 22, 2015.

  1. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    If you are looking for a professional, easy to use and highly extendable radial menu/ pie menu for your game or application you are at the right place!

    uPI(e) Menu offers an easy to use inspector where you can set up all the details of your radial menu plus a substential api which lets you set up and customize your menu exactly to your needs (even at runtime). Here are some of the core features, that make uPI(e) Menu unique:

    • Lets you create a new menu in just a few clicks, without knowing how to code
    • Supports controller and mouse (or any other kind of pointing device)
    • Intuitive and user friendly inspector
    • Integrates with the Unity input system by default, but lets you use any 3rd party or custom input system smoothly and extremely easily
    • Designed to work with the new Unity UI system
    • Works with all canvas render modes:
      • screen space - overlay, screen space camera and world camera
    • Highly generic:
      • You want to make a menu, that consists of input fields instead of buttons? No problem! You can use anything and any kind of selectable the new Unity UI system has to offer!
    • Highly customizable and extendable:
      • You don't want a full circle radial menu, but a semi circle menu? Or just 30° of the circle? You want a submenu and a sub-submenu? Done in just a few clicks!

    Web Demo Link: Click Here
    Asset Store Link: https://www.assetstore.unity3d.com/en/#!/content/35283

    Take a look at the documentation: Click here


    Release Notes:
    • Version 1.0.1
      • Fixed compatibility issues with Unity 5.1+ while still remaining backwards compatibility

    • Version 1.0.9
      • Unity version specific setup is now done automatically
      • Added alignment tools:
        • Automatic position alignment of each menu option along an adjustable radius
        • Automatic rotation alignment of each menu option by adjustable forward and up direction
    • Version 1.1
      • Bugfixes:
        • Solved stability issues with the plugin, when switching back and forth between different Unity versions (4.6 and 5.x)
      • Improved automatic version setter
    • Version 1.2
      • Exposed auto align methods to public
      • Added some more methods for realignment and rescaling
      • Updated API documentation
      • Complete design rework
     

    Attached Files:

    Last edited: Mar 31, 2016
    boysenberry likes this.
  2. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
    Love radial menus, moreso when they use Unity UI!

    Looking good man
     
  3. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi, thx, always nice to see interested people :)
    The package is sent to Unity for review at the moment. As soon as the package is approved I'm going to post the link to the package in the asset store here.
     
  4. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
    Any news ?
     
  5. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi, it seems unity wants me to have a webpage, before the asset gets approved and included in the asset store. So I created a website over the last days.
    I'm sorry for the delay, but I submitted the menu again and hope it will get approved soon and there is nothing more standing in its way ;)
     
    Last edited: May 14, 2015
  6. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
  7. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Indeed it is, Have fun! :)
     
  8. Ghosthowl

    Ghosthowl

    Joined:
    Feb 2, 2014
    Posts:
    228
    Any webplayer of this in action?
     
  9. Mr-Stein

    Mr-Stein

    Joined:
    Dec 4, 2013
    Posts:
    169
    i want to see webdemo too
     
  10. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi, I can make a demo soon. Will follow in one or two weeks
     
  11. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
    It works fine ! Very simple to use and customize. Totally worth the ridiculously low price of $9 !
     
  12. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
    oh and one suggestion : Find an artist that will make you a bunch of quality slices images in exchange for a free upie voucher !
     
  13. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Sounds great, if anyone is interested contact me by PM
     
  14. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Seems like the version, that is currently in the asset store is not compatible with the new unity version 5.1. I'm currently working on a fix and I'm submitting it to the asset store as soon as possible (most likely even today).

    P.S. I'm also working on a web demo - should be finished and online by the end of this week
     
  15. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
    Works fine for me on 5.1 ! What exactly should be the problem ?
     
  16. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Unity made some api changes, There should be errors saying "MissingFieldException: Field 'UnityEngine.EventSystems.EventTrigger.triggers' not found." or the like.
    So EventTrigger.delegates is now obsolete and therefore EventTrigger.triggers must be used. Sadly this makes it hard to be backwards campatible and I don't want to have two seperate assets in the asset store. I created a new version and submitted it to the asset store. The new version works for Unity 5.1+ out of the box - for older versions you just need to rename one file (explained in the documentation).

    If you press the "Add Menu Option" Button you should encounter the issue. I tested on Unity 5.1.0f3 and came across this problem. If it works for you, be glad ;) What Unity version are you using?
     
    Last edited: Jun 17, 2015
  17. Razmot

    Razmot

    Joined:
    Apr 27, 2013
    Posts:
    346
    5.1.0f3 - but I made my radial menu on 5.0 and did not touch it since. I will need to add submenus soon, I ll wait for the update to do that. I've been lucky !
     
  18. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Okay, the hotfixed version (1.0.1) is in the asset store now. In this version you have to manually rename and delete a file (explained in the documentation) for the menu to work with unity versions older than 5.1 (4.6 - 5.0). In the next version this is done automatically for you when launching unity.
    I'm also working on some workflow improvements at the moment, like automatic menu option alignment. So stay tuned!

    Edit: The new version containing said workflow improvements is now available in the asset store, have fun!
     
    Last edited: Jun 27, 2015
  19. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Heyho, if you have trouble building a project that contains uPIe – this is a known bug and fixed in version 1.0.9h1, which is currently being reviewed. If you need the newes version before it is available in the asset store, feel free to contact me
     
  20. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Good afternoon. I want to add the menu in the game.It will work at runtime? I saw a menu in the rust. It is made with the help of the construction menu. With your menu might do such a thing ?? that during the game you can call him, choose any design ?? It is also interesting, it can be to first open the three menus to choose from, and press to open the submenu?It will work in unity 5 ?? Make support unity 5.
     
  21. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi Alex3333,
    I'm not quite sure if I fully understand your question. Could you provide an image/ video or the like, showing the actual result you want to achieve?
    Check out the webdemo linked in the initial post to see the functionality of uPIe in action.
    If you want to support design templates – this is not a built in functionality. But you could write your own script that changes the sprites of your menu buttons. uPIe uses unity's standard uGUI buttons, so you can do whatever you can achieve with uGUI. But that's up to you, for more info check the unity docs.
    And yes, unity 5.X is already supported. :)
     
  22. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Like here. This can be done through your menu?
     
  23. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    The menu I see there is just a simple radial menu. Nothing special about that menu itself - sure you can create something like this with uPIe – BUT...
    ... I believe what you are actually looking for is the logic, that stands behind this menu. So choosing objects, placing and combining them etc. I guess what you want is a construction or crafting system, and not a menu whatsoever.
    If so I'm afraid I can't help you – that's just not what a menu does. It's rather an integral part of your game logic – the menu is (and should be) just the graphical representation of that.
     
    Last edited: Jul 28, 2015
  24. miacoviello

    miacoviello

    Joined:
    Apr 29, 2013
    Posts:
    6
    Hi,
    I noticed there is a DLL that is distributed with this. Is the source available?
     
  25. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi,
    nope, source code is not included in the package. But pretty much every single field and method is exposed publically, so you can access it and customize the systems' behaviour at a pretty decent level, but you can't fully modify it.
    I'm thinking about offering an upgrade including the full source code. But I'm not really sure about that yet. Depends on how much this is requested.

    Edit: Overhauled the getting started guide and created an interactable API documentation. Will be available in version 1.1.1
     

    Attached Files:

    Last edited: Oct 6, 2015
  26. noanoa

    noanoa

    Joined:
    Apr 17, 2014
    Posts:
    225
    Hi, do you have ETA on 1.1.2? Haven't bought the asset yet but I need it soon so I'm thinking to download it now or wait for 1.1.2 to come (if it will be released in a week or so).
     
  27. treshold

    treshold

    Joined:
    Nov 9, 2013
    Posts:
    225
    It would be great if there would be option to create menu buttons from prefabs. Now I find only usage of automatically aligning buttons since you have to clickety -click anyways everything else. I would also like to have some runtime usage examples in documentation.
    I looked on API and I'm not sure if I have understood correct workflow if i want to use menu dynamically.

    1. I create some trigger that will activate upie menu-gameobject.
    2. I will assign textures to menu buttons image-components
    3. I will align menu buttons.
    4. I will add some listeners to menu buttons.
    5. I will use clearmenu when one of the button is clicked so next time menu is called on different trigger i can start again with adding desired buttons.
     
    Last edited: Oct 15, 2015
  28. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    @noanoa sorry for the late reply, I'm pretty busy at the moment, but version 1.1.2 has been made available in the asset store last friday

    @treshold By default when you add a new button, the menu tries to copy the most recently added button (or other selectable), so if you add one button first and set this up as you want to (attach prefab or change the button gameobject directly) adding new buttons will then create new buttons that are identical to the previous one – but unfortunately they are not linked to your prefab (if you use prefabs). You're right, if you want to change all your already set up menu options to a different prefab or the like, there is no real option for that at the moment. In fact working with prefabs in general is a bit fiddly right now. I'll work on that in the next release, hope I'll find time for that soon.

    The new version has a demo scene for adding / removing buttons at runtime. However this is not thought to be used to generate a new menu from scratch, because rescaling the menu options will eventually mess up their shape ;) As it should be fine to add or remove just a few menu options if you overuse it, the result will probably not look like intended (as you can see in the demo, if you add a ton of buttons).
    So your approach is pretty solid if you want to add a lot of buttons and keep the correct button shape. Since version 1.1.2 you could use "AddMenuOptionAndRealign (bool autoRescaleX, bool autoRescaleY, bool autoRescaleZ)".
    But maybe you want to achieve something else – what is the behaviour you want your menu to have? In what scenario are you using it?
     
    Last edited: Oct 19, 2015
  29. Tinjaw

    Tinjaw

    Joined:
    Jan 9, 2014
    Posts:
    518
    I am working with Unity 5 and I see the asset is only submitted for Unity 4. Since you use a dll, can you please update for 5 and post to the asset store?

    Thank you.
     
  30. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi Tinjaw, the package is fully compatible with unity 5. You can use it with all unity versions from unity 4.6 on up to the current version
     
  31. miacoviello

    miacoviello

    Joined:
    Apr 29, 2013
    Posts:
    6
    Hi,
    I notice that the description has been updated to state if you want the source code to contact you. Does that mean it is now included with the purchase?
     
  32. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi, no the source code is still not included.
    With this note to contact me, I just wanted to know, if there are enough requests so it would make sense for me to create an upgrade, as this also means more maintenance work for me. I'm not planning on giving away the source code with the current package, but I'm thinking about an upgrade. I'll not replace the .dll version, as I still want there to be a lower-priced version. But upgrading to a version with source code seems to make sense – for me this seems to be a nice tradeoff.
    At the moment I don't really have a lot of time to work at that, but I try to go about it as soon as possible. I'll keep you up to date here, stay tuned. :)
     
  33. Tinjaw

    Tinjaw

    Joined:
    Jan 9, 2014
    Posts:
    518
    I think the idea of an upgrade to get source code is fine. I'm not sure I would upgrade now, but if I used your asset more I would probably make the investment at that time.
     
  34. Drommedhar

    Drommedhar

    Joined:
    Sep 24, 2013
    Posts:
    78
    Hey I just bought the Asset and it's working nice.
    But I just got a strange problem.

    In the Editor, everything works fine but in a Build Game the Select Event is not fired. Click still works, but Select does not.
    I Use the Select Event of the "Event Trigger" Script.

    Is this something you know and how to fix?
     
  35. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi,
    sounds strange, I'm investigating the issue and let you know as soon as possible :)

    EDIT: For now you could just add another "Event Trigger" to the GameObject and set your Events up there (or just copy and paste the component). This should work fine - also in builds. The problem is, that uPIe uses the EventTrigger component to listen to some events, but it seems like in builds all events previously set up in the EventTrigger get somehow erased. But this only happens to the first EventTrigger on the object - so if there are two EventTriggers the second one behaves normally. I'm trying to get rid of this behaviour and fix it in the next version.
     
    Last edited: Mar 8, 2016
  36. Drommedhar

    Drommedhar

    Joined:
    Sep 24, 2013
    Posts:
    78
    Hey,
    thanks for the info.
    Currently I've written some code to fire the OnClick Event after closing the uPIe Menu, by calling these 2 lines of code:

    Code (CSharp):
    1. public uPIeMenu MenuRef;
    2. ...
    3. Button btn = MenuRef.CurrentlyActiveOption as Button;
    4. btn.onClick.Invoke();
    This also works perfectly. Will stick to this until the strange EventTrigger thingy is fixed ;)
     
  37. Jefferius

    Jefferius

    Joined:
    Mar 27, 2016
    Posts:
    1
    Yearn,

    I got this package to add to my school project. I am having so many issues with it right now. I can't understand why it works in the editor but not in the exe build. So I have 6 buttons on the 3D pie menu. Under each button is a UI-Text and UI-Image. I have a script that tells the button (onSelect) to show the text and image. Everything works perfect in editor but when I make a build, nothing works. The menu shows up, but when i highlight a button, the text and image don't show. I have tried to setactive true and even turns the canvasgroup alpha to 0 and 1. Nothing works for me. Also, I don't use (onClick) I use onselect and on keypress for my scripts to run, in the exe build even that doesn't work for me. Please help! Ill provide anything you need to get this working.
     
  38. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi Jefferius,

    I guess this is the same problem as above. Where are you setting up these events? Do you use an EventTrigger?
    If so, try to use another EventTrigger - so you have two on one object and set your actions in the second one. Like I described before the (first) EventTrigger gets somehow overwritten in builds. This is a known issue and I'll fix it as soon as I find the time, but using the workaround with two EventTriggers should work for now.

    If you are setting up the behaviour from script using the button directly and not an eventtrigger, could you please provide a small snippet of the related code? You could also try to make your script implement "ISelectHandler" instead of using callbacks directly on the button

    EDIT: Hi guys, I just figured out a way how to fix this and still stay independent of the kind of selectable you want your menu options to be. So the problem seems to be fixed. Version 1.2.1 is currently being reviewed and should soon be accessible via the asset store.
    The weapon demo uses a "Select" event on an EventTrigger. See it working in the Web Demo
     
    Last edited: Apr 6, 2016
  39. drt_gamearound

    drt_gamearound

    Joined:
    Apr 1, 2013
    Posts:
    263
    Hi,

    I just bought your asset. I am using latest Unity 5.3.4f1. My problem is that the AddMenuOptions (from the inspector or from the Script) only work if I set Canvas to Screen Space Overlay. I need to set Canvas to Screen Space Camera.

    I also try to create a new Canvas and uPi component as described in the manual, and it do not work. The buttons I add stay always at the same position.

    Even in your demo scenes, if you set Canvas to Screen Space Camera it do not work. What happens is that the rescale alignment fails to set the components, and rescale the button too big.

    For me Screen Space Camera is important as my game uses 2 cameras, and I need to set the canvas to the proper camera.
     
  40. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi claudiotorres,

    I'm looking into your issue and let you know when it's fixed and whether I found a workaround you could use in the meantime.

    EDIT: I finally found the time to look into your issue. It appears, that when using "screen space - camera" render mode with your canvas the scale gets messed up. This will be fixed in version 1.2.1h1, but for now you can easily set the scale to whatever you want in the editor (or from script if you want to do it dynamically at runtime) until the new version is available in the asset store. The "align menu options" option works nicely in camera mode too, so it actually only seems to be the scale, which gets messed up.
    Thanks for pointing out the issue - since I rarely use camera render mode I missed that.
    Apart from that I hope you enjoy working with the plugin :)

    EDIT2: Hi claudiotorres, the issue you addressed is now fixed and the new package version is sent to unity for review. Hope it will soon be available via the asset store. Fixed in version 1.2.1h1
     
    Last edited: Apr 8, 2016
  41. ivanko

    ivanko

    Joined:
    Oct 28, 2013
    Posts:
    1
    Hi,
    I bought this asset but I wanted to change a few things. The thing is I want to apply this menu for Kinect input. So far I have some issues maybe you could help me with.

    How did you manage to select and deselect a specific button even if the cursor isn't hovering directly above it? (this could really help me since I don't want to do anything with the cursor just some input from kinect)
    I just thought I would get to change the code more easily but it seems like it's just using a .dll file which I cannot change or look into.
    I hope I'm not bothering, thanks in advance for the reply.
     
  42. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi ivanko,
    sorry for the misunderstanding, but the description in the asset store already says there's no source code, but .dll files.
    However uPIe is very customizable and I guess what you want to achieve should easily be possible (even though I never worked with kinect input).
    I assume with kinect you just work with coordinates on the screen, like you do when using a mouse (rather than having a direction, when controlling with a gamepad). If you don't get the input from kinect directly as x-y coordinates, there should be a way to convert them.
    You could set the option "Control With" to "Mouse" (as it acts like a mouse), but instead of using "Unity Default" as "Input System" set this option to "Custom".
    Now you can set your own coordinates and uPIe will use these to control the menu with. I guess the demo scene "Demo Custom Input" and the "CustomInputMouse.cs" script should help you out. Hope this helps :)
    Please don't hesitate to ask, if you have any questions
     
  43. turbulent_walrus

    turbulent_walrus

    Joined:
    Mar 26, 2016
    Posts:
    2
    Hey, i'm pretty new to this and i could use a little help. I'd like to set the menu so menu items are only selectable on hover. I've tried using the DeselectOptionIfOutsideBorders but i can't get it to work. Can you help?
     
  44. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi turbulent_walrus,

    The Deselect If Outside Borders option is aimed for radial menus, that are not a full 360° circle. So if you want a 180° semi circle menu for example you could set this option, so if you aim somewhere, where no menu option is, nothing will be selected. If this is disabled the last menu option will still be selected, even though you might currently not actually be aiming at it.
    As I understand your question, I guess you set this option via the inspector and you have a not-full-360° menu and want nothing to happen if aiming outside the menu and submitting. In fact you're exactly on the right path with the Deselect If Outside Borders option, but I think a bug sneaked in, because submit still gets fired, even if the option is no longer visually selected. I'm looking into this and I'll publish a hotfix as soon as possible. Sorry for the inconvenience.
    If you need a workaround fast, I'll try to figure something out that you can use until the updated version is available in the asset store.

    EDIT: Fixed in version 1.2.1h2 which is currently being reviewed and should be available via the asset store soon :)
     
    Last edited: May 11, 2016
  45. Kade514

    Kade514

    Joined:
    Sep 7, 2014
    Posts:
    12
    Hi, I really love this system so far (it's made making radial menus for my god game so much easier) but I've noticed what looks like a bug with gamepads. Basically, I've noticed that if I hold the gamepad's joystick in a single direction for more than a split-second the currently selected button will begin to alternate between the button I want to select and whatever button is on the opposite side of the menu. I just wanted to know if this was a known issue, and if so if there was a fix available that could prevent it from happening?
     
  46. turbulent_walrus

    turbulent_walrus

    Joined:
    Mar 26, 2016
    Posts:
    2
    Hey, yeah sorry i don't think i was quite clear in my previous message. I've created a 360 deg menu (also happens with the half / quarter) and would like to disable the auto highlight of the menu icon if the mouse is pointed in that general direction. i.e the icon should only highlight and be clickable if the mouse is hovering over it. Also, as you mentioned, sometimes icons remain highlighted and clickable regardless of where the mouse is onscreen.
     
  47. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi Kade514,
    this sounds like a bug and was not known yet, thanks for pointing that out!
    I was not able to reproduce this behaviour, could you please provide some more information, like, is this happening just in builds, or also in the editor? Have you set up a default option? Are you using a full-circle menu and if not what circle size is set up? What unity version are you using?
    Thanks a lot for your help :)
     
  48. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi turbulent_walrus,
    Is the Control With option set to mouse? If you set it to Gamepad instead, you can still control it with the mouse, but it does not react to the mouse direction anymore. That way you need to directly hover over an option with your cursor and click it. Is this the behaviour you are looking for?
     
  49. Kade514

    Kade514

    Joined:
    Sep 7, 2014
    Posts:
    12
    Sorry to take so long to reply to you. I've only noticed the issue occurring in the editor so far but I'll check it out in the built version later today. I've included an example of the settings I'm using for my menus:
     
  50. Yearn

    Yearn

    Joined:
    Apr 22, 2015
    Posts:
    36
    Hi Kade514,
    sorry for the late reply, I'm pretty busy at the moment. I tried to reproduce the behaviour with the exact same values taken from your screenshot - but with no luck. I can't really reproduce the issue. Are there maybe EventTriggers attached to the buttons, that could cause such a behaviour? Is this occuring, when you aim in between the buttons or when you aim directly at them? Is this happening in all of your menus or just in a specific scene / setting?
    I also noticed, if the radius is really just 4.22 units (like in the screenshot), the menu is really really tiny. That would mean the buttons are just about 2 pixels big - I assume this might also lead to problems with unitys menu system in general. Probably adjusting the scale could prevent some issues - but I don't know if it is related to this one.
     
    Last edited: May 30, 2016