Search Unity

DoozyUI: Complete UI Management System

Discussion in 'Assets and Asset Store' started by AlexMares, Apr 13, 2016.

?

Would you like to see a free version of DoozyUI with limited features?

Poll closed May 12, 2016.
  1. Yes

    1 vote(s)
    33.3%
  2. No

    2 vote(s)
    66.7%
  1. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @jrDev

    That is exactly the idea here. DoozyUI is not a UI framework (that replaces the Unity native uGUI framework), it is a UI management system for the uGUI framework.

    You may be confusing using UI components with UI management. They are completely different things. Several components are assembled into layouts (or views). These views are static and you will need a way to show/hide them from screen, animate them, play sounds and so on. This is called UI management and you need to write a separate system (or systems) to accomplish this. And this is where DoozyUI comes in, it help you show/hide this views in a controlled manner while also providing animations, sounds and a lot of other things.
     
  2. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Hello,

    So what you are saying is just to add the component scripts to the Gameobject to get animations and stuff? What would you recommend to use for dropdown menus?

    Thanks,
    jrDev
     
  3. Nyphur

    Nyphur

    Joined:
    Jan 29, 2016
    Posts:
    98
    I'm trying to toggle the UI on or off with a keyboard button, it should be a common use case but I can't seem to find a built-in option for it. Does DoozyUI have a global keyboard control feature I'm not seeing? The Keycode input on a UIButton won't do the job because the button has to be selected first.

    EDIT: Did it by creating a blank UINode for the idle state and using Portal nodes to listen for "UIOpen" and "UIClose" game events, then GameEventMessage.SendEvent in a script to toggle it. It works as expected, but is there really no standard way to have a GraphController listen for a global control input and take an action? Seems like a common enough design.

    BTW, FileUtils.cs has what looks like a typo in it: "namespace Doozy.Endgine.Utils" instead of "namespace Doozy.Engine.Utils". Doesn't make a difference as it's not used, but it makes the typo'd namespace show up in intellisense.
     
    Last edited: May 19, 2019
  4. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @jrDev

    So what you are saying is just to add the component scripts to the Gameobject to get animations and stuff?
    That is not what I said at all.The system was designed to manage views and the UI navigation flow. That is its main purpose. It was not created to 'manage' micro animations as that would be a bit overkill. You can do it, but there are a lot of other ways that you can animate an object without the need of a complex system behind the animations.

    What would you recommend to use for dropdown menus?
    Either the native Dropdown component, or you can create your own dropdown animation/implementation with the help of Uniyt's Animator system (there are a lot of tutorials online on how to do this), or you can look through the Asset Store for a custom implementation that works with uGUI.
     
  5. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @Nyphur

    We did not implement such a feature mostly because we didn't think of it. I'll add this to the features request board. Note that the next update 3.0c1 comes with a new component KeyToGameEvent that might be what you're looking for.

    The FileUtils tipo has been resolved starting from the 3.0c1 update and up.
     
  6. ThorHelms

    ThorHelms

    Joined:
    Apr 8, 2016
    Posts:
    3
    I'm trying to create a split screen menu with DoozyUI, where multiple menus (1 per player) can be active and in different states. But this would require a way to explicitly link a canvas and a graph controller, and I am unable to find a way to do this. Am I missing something? Else, I would like to make a feature-request for this :)
     
  7. Shirzad

    Shirzad

    Joined:
    Dec 8, 2016
    Posts:
    13
    Hello, first of all many thanks for the great UI system. I bought the doozyUI package. Now I wanted to create a simple ScrollView. Unfortunately it did not work. Can not create ScrollVies with Doozy? Many Thanks
     
  8. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @ThorHelms

    You basically need two menus. Thus you'll have two Canvases (one on the left and on on the right). Then you'll need two Graph Controllers and two Graphs; one graph controller controls the graph for the left menu and the other graph controller controls the graph for the right screen.

    Then you need to hook them up properly in their respective UIFlow. Keep in mind that you should not use the 'Back' button as it might affect both UI flows (should they both be in a node that has a 'Back' button option). Just rename it to something else ('GoBack' maybe).
     
  9. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @Shirzad

    DoozyUI does not offer a ScrollView component because you already have a native one inside Unity. The scroll view is a layout component and can be nested under an UIView that is controlled by DoozyUI.
     
  10. ThorHelms

    ThorHelms

    Joined:
    Apr 8, 2016
    Posts:
    3
    So what you're saying is that if I want 16 players, I need 16 graphs, 16 graph-controllers, and 16 canvases, most of which are the same, but with different names for buttons/views etc.? This seems sub-optimal - I would much rather be able to explicitly link a canvas and a graph controller directly if possible. Is there any chance you could implement that in the near future?
     
  11. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @ThorHelms

    You are confusing a canvas with an ui flow. A canvas is a container of views. An ui flow can 'manage' a countless number of views that can be put under countless canvases.

    Your use-case was related to a split screen situation where you needed 2 parallel ui flows. One for each side of the screen. It is normal to allow the players to have different ui flows (thus have different UI layouts - one for each side of the screen, with their own animations, sounds, etc...)

    We have yet to see a game with the screen is being split into a grid of 4x4 (16 mini screens) and where 16 players play all on the same screen (thus the need of 16 parallel ui flows).

    The fact that you keep trying to 'link' a canvas to a graph controller makes no sense. You cannot link a layout element to a component that manages a graph (that in turn is used to handle ui navigation flows).
     
  12. ThorHelms

    ThorHelms

    Joined:
    Apr 8, 2016
    Posts:
    3
    I never said anything about 2 players, I said "multiple". I also never said the 16 players would all play on the same display - it could be 4 displays with 4 players each.

    In any case, the number 16 was simply an exageration, to let you know that I would like to be able to support MULTIPLE players, and not be limited in the number of players by simple overhead of a chosen library.

    My hope was that I could create two graphs: One for the main player, and one for all other players, where each player will have their own state of their menu. For example with 16 players: 1 player has control over the 'main menu', and the 15 other players each have control over their own instance of the 'secondary menu', each with their own state.

    The reason I'm talking about linking the graph-controller with a canvas is because that is the way I would implement the functionality I need, if I was making a UI library. I would then have each graph-controller create an internal state, based on the linked graph, listen to events from the linked canvas only, and send updates to the linked canvas only. That way I could programmatically create multiple instances of a graph-controller prefab, and canvas prefab, link them properly, and thus have infinite split screen possibilities.

    I'll try to ask once again, now with a more "reasonable" number of players: If I want to support 4 player split screen, where all players have identical menus but individual menu-states, do I need to explicitly create 4 different menu graphs?
     
  13. Tropobor

    Tropobor

    Joined:
    Mar 24, 2014
    Posts:
    73
    How do you go about using DoozyUi with Quest Machine from Pixel Crushers?

    ( edit) Nevermind , meantime, I've switched to another asset wich seems to be much simpler and more appropriate (RPG Talk), will ask question later about it, if I need. Thanks
     
    Last edited: May 27, 2019
    AlexMares likes this.
  14. TomWoodberry2

    TomWoodberry2

    Joined:
    Apr 8, 2013
    Posts:
    2
    Hi,
    I'm doing some research before starting a project and I'm wondering if DoozyUI can be used for modding. That is, can it be used to create UI elements during runtime by parsing, for example, xml files?
     
  15. daschatten

    daschatten

    Joined:
    Jul 16, 2015
    Posts:
    208
    @allemaar Could you add a string format option for text progress targets?
     
  16. daschatten

    daschatten

    Joined:
    Jul 16, 2015
    Posts:
    208
    Is there a possibility to create a carousel like navigation? It would require different show and hide animations, maybe something like an inverse toggle on connections in nody?
     
  17. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @PleaseSelectAUse

    You cannot create UI elements from xml files with DoozyUI.
    DoozyUI is not an UI framework, but a UI management system for the native Unity UI framework (uGUI).
    Whatever you can do with native Unity UI components, you can do with DoozyUI.
     
  18. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @daschatten

    This option has already been added to the feature requests board and is in the research tab at https://trello.com/c/9UEFhUAR

    We'll add this option as soon as we get to it. There are other options with a larger impact that need to be handled first.
     
    daschatten likes this.
  19. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @daschatten

    Can you please elaborate what you mean with an inverse toggle on connections?
    You can move in any direction (forward and back) between nodes as long as you connect their input and output connections and the output conditions are met.
     
  20. daschatten

    daschatten

    Joined:
    Jul 16, 2015
    Posts:
    208
    Something like: If an uiview moves in from left by default the reverse (or better mirror?) should make it move in from right. Example carousel: https://getbootstrap.com/docs/4.0/components/carousel/
     
  21. Personuo

    Personuo

    Joined:
    Mar 19, 2014
    Posts:
    129
    Is the data binding solution now available?
     
  22. imDanOush

    imDanOush

    Joined:
    Oct 12, 2013
    Posts:
    368
    @allemaar Hi, This looks like a great asset. I use Rewired for my projects, does it support Rewired? It would be great if you tell us more about the compatibility with Rewired.

    FYI, I've already gotten Rewired working with the native Unity UI system.
     
    Last edited: Jul 10, 2019
  23. LHMatsuoka

    LHMatsuoka

    Joined:
    Jul 2, 2015
    Posts:
    14
    I also use Rewired and are considering using DoozyUI.

    In a simply combined environment, it responds to gamepad Axis events.
    However, it does not seem to respond to the Submit and Cancel buttons.
     
    imDanOush likes this.
  24. imDanOush

    imDanOush

    Joined:
    Oct 12, 2013
    Posts:
    368
    Well, I hope @allemaar responds to this issue. It appears to be a good UI manager, though.
     
  25. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @Dr-Persona
    At this time DoozyUI does not come with a data binding solution. We may implement one in the future, but at the moment we have other features that we would like to implement first.

    @Mr_Dan_O @LHMatsuoka
    We are planning on adding Rewired support quite soon. Check out the Feature Requests board at https://trello.com/b/hUMX9edS/doozyui-feature-requests

    Some of the awesome developers using DoozyUI already use it with Rewired and some have also sent over some examples of their particular implementations. Here is one of them:
    Code (CSharp):
    1. #if dUI_REWIRED
    2.        /// <summary> System also reacts to a set rewired action </summary>
    3.        RewiredAction
    4. #endif
    Code (CSharp):
    1. #if dUI_REWIRED
    2.                case InputMode.RewiredAction:
    3.                    var player = Rewired.ReInput.players.GetPlayer(0);
    4.                    var sim = FindObjectOfType<Rewired.Integration.UnityUI.RewiredStandaloneInputModule>();
    5.                    if (player.GetButtonDown(sim.submitButton)) ExecuteClick();
    6.                    break;
    7. #endif
    Code (CSharp):
    1. #if dUI_REWIRED
    2.                case InputMode.RewiredAction:
    3.                    var player = Rewired.ReInput.players.GetPlayer(0);
    4.                    var sim = FindObjectOfType<Rewired.Integration.UnityUI.RewiredStandaloneInputModule>();
    5.                    if (player.GetButtonDown(sim.cancelButton))
    6.                    {
    7.                        if (DebugComponent) DDebug.Log("Back button detected via ReWired Action: " + sim.cancelButton, Instance);
    8.                        triggerBackButton = true;
    9.                    }
    10.  
    11.                    break;
    12. #endif
    Code (CSharp):
    1. #if dUI_REWIRED
    2.                case InputMode.RewiredAction:
    3.                    var player = Rewired.ReInput.players.GetPlayer(0);
    4.                    var sim = FindObjectOfType<Rewired.Integration.UnityUI.RewiredStandaloneInputModule>();
    5.                    if(player.GetButtonDown(sim.submitButton)) ExecuteClick();
    6.                    break;
    7. #endif

    Right now I'm in between recording sessions for new video tutorials for DoozyUI, thus responding a bit slower on the forum.

    If you haven't done so already, you can join our Discord server at https://discord.gg/y9Axq7b
    Note that you can download fixes (that will get included in the next update) from the Member's Area on our Discord server.
     
    Wavefaring, LHMatsuoka and imDanOush like this.
  26. Niyazmohammad

    Niyazmohammad

    Joined:
    Jul 23, 2016
    Posts:
    14
    How to use Unity advertisement with Doozy UI? did someone tried it.
     
  27. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @Niyazmohammad

    How can we help? Showing an ad should be as simple a sending a game event and triggering the show method for that ad.
     
  28. ChameleonPower3DDev

    ChameleonPower3DDev

    Joined:
    Mar 14, 2017
    Posts:
    24
    Hi allemaar (previously referred to as Doozy, apologies)! My company just invested in Doozy UI 3 for use in our projects and I'm trying to learn the ins and outs of it. My current issue is that I'm trying to animate several sub-element images of a single button and haven't found a tutorial that is useful in showing me how to do so. I have to be able to hide, show, and animate 3 separate objects on pointerEnter and pointerExit -- do you have a quick tutorial resource or suggestion on how to do this?
     
    Last edited: Jul 23, 2019
  29. Niyazmohammad

    Niyazmohammad

    Joined:
    Jul 23, 2016
    Posts:
    14
    @allemaar This Asset has lots of Tutorials, if there is one for showing Ads , (banner, Video Interstitial and rewarded ) that will be very appreciated.
     
  30. kheldorin

    kheldorin

    Joined:
    May 28, 2015
    Posts:
    22
    Does the UIEffect work with the lightweight render pipeline?
     
  31. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @sethB This can be done with simple Animations triggered by the OnPointerEnter and OnPointerExit actions. I'll add your request to the video tutorials stream to be recorded.

    @Niyazmohammad We did not plan on making such a video tutorial as it should be quite straightforward. I'll add your request to the ToDo list for the next video tutorials.

    @kheldorin UIEffect does not exist in DoozyUI version 3. In version 2 it helped configure a ParticleSystem to get properly sorted with the UI sorting layer. In version 3 the 'UIEffect' has been incorporated in the actions for each component and performs basically the same function. Thus if the ParticleSystem (native Unity component) works in with the lightweight render pipeline, so will the UIEffect.
     
    Niyazmohammad likes this.
  32. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    509
  33. remy_rm

    remy_rm

    Joined:
    Jan 16, 2017
    Posts:
    17
    Whenever the `UIVIew` is enabled it resets the scale to (1, 1, 1). I couldn't find a setting to turn off this behaviour, is there a way to disable it?

    Commenting out the `//SCALE` part of the UIView only keeps the scale from being reset the first time the view is showed, but it will reset to (1,1,1) on subsequent visists which is undesired behvaiour.

    Note i'm not using any scaling animation whatsoever

    The same applies to the position of an object. Despite having "Custom start position" turned off, the object is always placed at (0,0,0), again with no animation that could be moving it.

    using version 3.0.c1
     
    Last edited: Aug 19, 2019
  34. tms_dev

    tms_dev

    Joined:
    Nov 26, 2018
    Posts:
    47
    Hi there,

    Is there a way to share game objects/components across views? I have a component that I would like to be visible even though other views are changing in the back of it.

    I tried adding this component above my views but under the MasterCanvas and it doesn't show up.

    I know I can put it inside the view and it will show, but that doesn't work for me because I want to create multiple views and share the text between them instead of creating multiple text boxes and sharing all of them.

    Another idea I had to solve this if it was possible to put UI Views on top of each other, I could just make the text box a View and place it on top of the views I need. Is this possible?

    If you could advise on what to do here, I would really appreciate it. Thanks so much.

    ///

    UPDATE:

    I've figured it out. For anyone having this issue...UI view has something called Custom Start Position. You use that with Nody to set both views up so they appear at the same time. Yay! This way I can put what I want in one view and just render it with every other view. Explanation here:


    :)
     
    Last edited: Aug 23, 2019
  35. ChameleonPower3DDev

    ChameleonPower3DDev

    Joined:
    Mar 14, 2017
    Posts:
    24
    Hi allemar,

    Thanks for adding my previous question request to the "to do" list for tutorials. I ended up figuring out how to animate the elements I needed with simple stand alone scripts. A tutorial would be nice to see how you guys suggest to accomplish it though! I do have a new question in regards to Nody subgraphs and view state management.

    The company I work for does 3D visualizers for clients and many of the projects we do is for WebGL and operates like a web page. This can obviously get complex in the number of views and the possible states of each and it seems like I should be able to set up a sub graph for each view to act as a state manager but I haven't been able to connect a single subgraph to multiple downstream subgraphs (illustrated in the image below -- Visualizer and Other Visualizer should be reachable directly from SceneSelect node) nor set individual states for the same view within the subgraph itself (illustrated in the second image).

    upload_2019-8-23_9-49-49.png

    upload_2019-8-23_9-53-2.png

    I'm still very new to UI development and Doozy UI in general and I apologize if these are obvious questions. Do I need to have multiple versions of the same view within a subgraph to be able to accomplish this? Can a sub graph only have a single downstream connection? Is there a tutorial set that is already available that can help answer my questions? Thanks for your time and help!
     
    Last edited: Aug 23, 2019
  36. novaVision

    novaVision

    Joined:
    Nov 9, 2014
    Posts:
    518
    Hey Doozy, why did you disable standard behavior to close UIPopup on any button click in new version?!
     
    Last edited: Aug 30, 2019
  37. Nyphur

    Nyphur

    Joined:
    Jan 29, 2016
    Posts:
    98
    This may be a silly question, but I can't for the life of me figure it out. How do I add a right mouse or middle mouse click to a UIButton? There's an OnClick event that fires when any mouse button is pressed, but how do I ascertain which one it was?
     
  38. cg-adam

    cg-adam

    Joined:
    Jul 30, 2019
    Posts:
    44
    @allemaar I am noticing that every time we close the project the DoozySettings.asset changes, causing Git to think it needs to commit the file again. Can we safely ignore this file from version control, or will that cause issues when working on a different machine and pulling the project down again?
     
  39. pixelminer

    pixelminer

    Joined:
    Jul 24, 2011
    Posts:
    26
    Hi. In DoozyUI 2.x start sounds on show/hide UIElements used to be delayed by the delay in show/hide animations but in DoozyUI 3.x start sounds on show/hide UIViews do not seem to be delayed by delays in show/hide animations for UIViews. Is there some option that needs to be set to make start sounds use the start delay in show/hide animations in DoozyUI 3.x? If not, would it be possible to have a start delay option for show/hide start sounds in DoozyUI 3.x?
     
  40. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    I am keep getting this error with refreshing soundy database :

    NullReferenceException: Object reference not set to an instance of an object
    Doozy.Engine.Soundy.SoundDatabase.CheckAllDataForCorrectDatabaseName (System.Boolean saveAssets) (at Assets/Doozy/Engine/Soundy/ScriptableObjects/SoundDatabase.cs:344)
    Doozy.Engine.Soundy.SoundDatabase.RefreshDatabase (System.Boolean performUndo, System.Boolean saveAssets) (at Assets/Doozy/Engine/Soundy/ScriptableObjects/SoundDatabase.cs:158)
    Doozy.Engine.Soundy.SoundDatabase.Initialize (System.Boolean saveAssets) (at Assets/Doozy/Engine/Soundy/ScriptableObjects/SoundDatabase.cs:142)
    Doozy.Engine.Soundy.SoundyDatabase.InitializeSoundDatabases () (at Assets/Doozy/Engine/Soundy/ScriptableObjects/SoundyDatabase.cs:218)
    Doozy.Editor.Windows.DoozyWindow.InitViewSoundy () (at Assets/Doozy/Editor/Windows/DoozyWindowDrawViewSoundy.cs:40)
    Doozy.Editor.Windows.DoozyWindow.SetView (Doozy.Editor.Windows.DoozyWindow+View view) (at Assets/Doozy/Editor/Windows/DoozyWindowDrawViews.cs:156)
    Doozy.Editor.Windows.DoozyWindow.DrawToolbarButton (Doozy.Editor.Windows.DoozyWindow+View view, UnityEngine.GUIStyle normalStyle, UnityEngine.GUIStyle selectedStyle, System.Action callback) (at Assets/Doozy/Editor/Windows/DoozyWindowDrawToolbar.cs:77)
    Doozy.Editor.Windows.DoozyWindow.DrawLeftToolbar () (at Assets/Doozy/Editor/Windows/DoozyWindowDrawToolbar.cs:36)
    Doozy.Editor.Windows.DoozyWindow.DrawViewsAreas () (at Assets/Doozy/Editor/Windows/DoozyWindow.cs:115)
    Doozy.Editor.Windows.DoozyWindow.OnGUI () (at Assets/Doozy/Editor/Windows/DoozyWindow.cs:52)
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
    UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:359)
    UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:353)
    UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:329)
    UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect, System.Boolean floatingWindow, System.Boolean isBottomTab) (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:374)
    UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:341)
    UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:298)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:483)
    UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:466)
    UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:447)
    UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/Events/MouseCaptureDispatchingStrategy.cs:93)
    UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/EventDispatcher.cs:280)
    UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at C:/buildslave/unity/build/Modules/UIElements/EventDispatcher.cs:156)
    UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:190)
    UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:255)
    UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:78)
    UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

    There is nothing to reimport, but I am using assembly definitions. which seems to work. Not even sure if assembly definition is causing this.."I think" I was getting this even before the assembly definition.

    Unity 2019.2.3f1
     
    Last edited: Sep 16, 2019
  41. Nyphur

    Nyphur

    Joined:
    Jan 29, 2016
    Posts:
    98
    Update: The day after I asked this, an update added the OnRightClick event. Love doozy :D
     
  42. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Also, for the button lables etc, do they get updated in run time as well? I am asking this because I want to implement my own localization system to check for the id of the text and then change lable's text accordingly. But I can't have doozy interfere with my own system and keep replacing my text upon enable etc..
     
  43. pixelminer

    pixelminer

    Joined:
    Jul 24, 2011
    Posts:
    26
    This bug is now fixed and will ship with the next version. Nice job!
     
  44. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    Hi I have a few questions:

    - What's the propper way to work with multiple scenes? (Probably you have a video for that but I couldn't find it) What I mean is having multiple Canvas, for example having One persistent canvas that doesn't get destroyed and having extra canvas in each scene for just that particular scene.

    - Is it possible to have custom animations? For example if I want something to scale in a more cartoonish way can I override the Tween Animation for a more complex one made by hand.

    - I want to animate colors, what's the correct way to do it? Basically just change the Image.Color property, would be awesome if I could tween that too.

    - I want the buttons to have a Show and Hide animation, how should I do that? The button only has events for OnPoinet OnClock OnSelected and so on. but I don't see any event for Show or Hide or similar... I would like all the buttons to fly into place when the menu shows up

    Probably I just need to read more of the documentation and watch more videos, but I wanted to ask.

    thanks
     
  45. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    Also It would be awesome if I could Drag and Drop a View from the Hierarchy view into the Nody Graph View and having it automatically create the propper node with it's buttons all set up
     
    StupydHors likes this.
  46. RoyalCoder

    RoyalCoder

    Joined:
    Oct 4, 2013
    Posts:
    301
    Hi Doozy Team,

    It's possible to achieve Magnetic Scroll View with Doozy System? Maybe UI Drawer or something?
    Can you guide me on how to achieve this, please? (Example: here)
    Thanks and keep up the good work!
     
  47. GrassWhooper

    GrassWhooper

    Joined:
    Mar 25, 2016
    Posts:
    109
    Code (CSharp):
    1. EndLayoutGroup: BeginLayoutGroup must be called first.
    2. UnityEngine.GUILayout:EndVertical()
    3. Doozy.Editor.Windows.DoozyWindow:DrawGeneralPluginBox(String, Boolean, Boolean, String, GUIStyle) (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViewGeneral.cs:275)
    4. Doozy.Editor.Windows.DoozyWindow:DrawGeneralPluginBoxTextMeshPro() (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViewGeneral.cs:221)
    5. Doozy.Editor.Windows.DoozyWindow:DrawGeneralIntegrations() (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViewGeneral.cs:194)
    6. Doozy.Editor.Windows.DoozyWindow:DrawViewGeneral() (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViewGeneral.cs:54)
    7. Doozy.Editor.Internal.BaseEditorWindow:DrawView(Action, AnimBool, Single, Single) (at Assets/A_Plugins/UI/Doozy/Editor/Internal/BaseEditorWindow.cs:181)
    8. Doozy.Editor.Windows.DoozyWindow:DrawViews() (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViews.cs:101)
    9. Doozy.Editor.Windows.DoozyWindow:DrawViewsAreas() (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindow.cs:65)
    10. Doozy.Editor.Windows.DoozyWindow:OnGUI() (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindow.cs:52)
    11. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
    12.  
    13. InvalidOperationException: Stack empty.
    14. System.Collections.Generic.Stack`1[T].ThrowForEmptyStack () (at <d2957de1c3fd4781a43d89572183136c>:0)
    15. System.Collections.Generic.Stack`1[T].Pop () (at <d2957de1c3fd4781a43d89572183136c>:0)
    16. UnityEditor.EditorGUI.EndChangeCheck () (at /home/builduser/buildslave/unity/build/Editor/Mono/EditorGUI.cs:350)
    17. Doozy.Editor.Windows.DoozyWindow.DrawGeneralPluginBoxTextMeshPro () (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViewGeneral.cs:222)
    18. Doozy.Editor.Windows.DoozyWindow.DrawGeneralIntegrations () (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViewGeneral.cs:194)
    19. Doozy.Editor.Windows.DoozyWindow.DrawViewGeneral () (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViewGeneral.cs:54)
    20. Doozy.Editor.Internal.BaseEditorWindow.DrawView (System.Action drawViewMethod, UnityEditor.AnimatedValues.AnimBool showViewAnimBool, System.Single leftHorizontalPadding, System.Single rightHorizontalPadding) (at Assets/A_Plugins/UI/Doozy/Editor/Internal/BaseEditorWindow.cs:181)
    21. Doozy.Editor.Windows.DoozyWindow.DrawViews () (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindowDrawViews.cs:101)
    22. Doozy.Editor.Windows.DoozyWindow.DrawViewsAreas () (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindow.cs:65)
    23. Doozy.Editor.Windows.DoozyWindow.OnGUI () (at Assets/A_Plugins/UI/Doozy/Editor/Windows/DoozyWindow.cs:52)
    24. System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <7ba07f088431485bb722f3b3373e87ee>:0)
    when i try to enable, any of the 3 integrated assets, i get such errors, any ideas ?

    i do have TextMesh Pro installed and PlayMaker, and Master Audio AAA, its just, yeah, i get these when trying to enable it
    i tried manually, adding the symbol definition in the unity editor project settings, but they get automatically removed on their own.
     
  48. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @InfinityCoder88,

    Doozy doesn't currently have layout systems implemented. We are planning on gradually adding them, but this will happen slowly as we test everything out.

    That particular asset seemed to be using uGUI thus it should be compatible with DoozyUI, should you want to mix and match. Since Doozy UI uses the native Unity framework, any other asset that uses it as well should be compatible with the system.
     
  49. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    @GrassWhooper

    We're looking into this to see what is happening.
     
    GrassWhooper likes this.
  50. MADiFold

    MADiFold

    Joined:
    Aug 10, 2018
    Posts:
    10
    [SOLVED]
    Hi, I just posted an issue on your Youtube Tutorial (regarding first UI elements):
    Have quite an issue with this. Last week I used DoozyUI for the first time, following this video and it worked nicely (even now the project I set up mimicking your video works). But now (after also updating with the Coroutiner issue solved) I can NOT get it to work. Everything will end up with the last view to be visible every time. It gets really annoying, because I want to move an old project to use DoozyUI, now I have recreated 2 new clean projects and they still don't work. I create a seperate category for views and buttons (even made a custom canvas in one of the projects), created 5 UIviews, renamed them according to the selected view. Created a Graph, added a Graph Controller, connected them, in the graph I added the respective UI Nodes, the buttons are connected, everything is EXACTLY how it should be, except two things: 1. When previewing, the DOTTween will not reset my view back to the original spot, it will leave it at 0,0,0. Same when pressing play. 2. When running the project, it will always load the bottom view in the hierarchy, even while in the graph it says it activated the right UI Node (which is connected to another view, the right one). Can it be to do with Unity 2019.2.6f1?

    I hope you can help me (and possibly others) out quickly.
    Screenshots:
    https://drive.google.com/open?id=1n_tW4VCLLWja6yHRyQERhyVtcoT9wYSa (setup)
    https://drive.google.com/open?id=1CkUK67Soc4n2hSl0Kb8BF36be0zp4Vie (Running)

    [SOLUTION]
    Make sure you set all views to default action: Hide.
     
    Last edited: Oct 1, 2019