Enter the forum description here ...
+12
Fixed

Unable to use Peek with 2019.3.10

Crystalius 7 months ago updated by Daniel 5 months ago 12

MissingMemberException: Member 'UnityEditor.EditorWindow.ShowModal' not found.

Ludiq.LudiqGUIUtility..cctor () (at <75479a292f634cecafcc6d9c858e3997>:0)

Rethrow as UnityEditorInternalException: An error occured while accessing internal Unity Editor functions. This might happen if Unity makes backward-incompatible changes in their newer versions of the editor.

Ludiq.LudiqGUIUtility..cctor () (at <75479a292f634cecafcc6d9c858e3997>:0)

Rethrow as TypeInitializationException: The type initializer for 'Ludiq.LudiqGUIUtility' threw an exception.

Ludiq.AssemblyResourceProvider.LoadTexture (System.String path, Ludiq.CreateTextureOptions options) (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.EditorTexture.Load (Ludiq.IResourceProvider resources, System.String path, Ludiq.TextureResolution[] resolutions, Ludiq.CreateTextureOptions options, System.Boolean required) (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.EditorTexture.Load (System.Collections.Generic.IEnumerable`1[T] resourceProviders, System.String path, Ludiq.TextureResolution[] resolutions, Ludiq.CreateTextureOptions options, System.Boolean required) (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.PluginResources.LoadIcon (System.String path, System.Boolean required) (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.LanguageIconSet.LoadAccessibility (System.String name, System.Boolean required) (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.LanguageIconSet..ctor (System.String name) (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.LanguageIconSet.Load (System.String name) (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.Icons+Language.Load () (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.Icons.Load () (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.Icons..cctor () (at <75479a292f634cecafcc6d9c858e3997>:0)

Rethrow as TypeInitializationException: The type initializer for 'Ludiq.Icons' threw an exception.

System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (System.RuntimeTypeHandle type) (at <437ba245d8404784b9fbab9b439ac908>:0)

Ludiq.PluginContainer.Initialize () (at <75479a292f634cecafcc6d9c858e3997>:0)

Ludiq.PluginContainer..cctor () (at <75479a292f634cecafcc6d9c858e3997>:0)

Rethrow as TypeInitializationException: The type initializer for 'Ludiq.PluginContainer' threw an exception.

Ludiq.GraphWindow.OnGUI () (at :0)

System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <437ba245d8404784b9fbab9b439ac908>: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 <437ba245d8404784b9fbab9b439ac908>:0)

System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <437ba245d8404784b9fbab9b439ac908>:0)

UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at <17b72532ee2c4da1b6f632d3f1705fe0>:0)

UnityEditor.HostView.Invoke (System.String methodName) (at <17b72532ee2c4da1b6f632d3f1705fe0>:0)

UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at <17b72532ee2c4da1b6f632d3f1705fe0>:0)

UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at <17b72532ee2c4da1b6f632d3f1705fe0>:0)

UnityEditor.DockArea.OldOnGUI () (at <17b72532ee2c4da1b6f632d3f1705fe0>:0)

UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Boolean straightY, System.Single pixelsPerPoint, System.Exception& immediateException) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

Rethrow as ImmediateModeException

UnityEngine.UIElements.UIR.RenderChain.Render (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection, UnityEngine.UIElements.PanelClearFlags clearFlags) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.UIRRepaintUpdater.DrawChain (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.UIRRepaintUpdater.Update () (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.Panel.UpdateForRepaint () (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <7be1a95b44f5474c9c1a5c5fd9c86b28>:0)

UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <35bab3c7b0dc4999845bcfccc7758d96>:0)

+5
Planned

Move to Existing Group

Leonardo 2 months ago updated 1 month ago 3

Creating groups and moving selected objects to the created group works great now but it would be even better if you can move objects to an already existing group. 

Ideally, you would use the same hotkey as create group, but instead of just creating a brand new group, it will give you an option to either move the selected object(s) to an existing group (created with peek) or create a brand new group. This is similar to how Blender collections work.

+3
Fixed

Shortcut not available. You are pushing more GUIClips than you are popping.

TrooperAdvert 1 month ago updated by Lazlo Bonin (Lead Developer) 1 month ago 4

Hi, I've just downloaded and imported into the existing 2d project to give a try Peek tool.

Unfortunately, first what I saw were those errors:

Stacktrace:

[Exception] ArgumentException: Shortcut not available
ShortcutManagerImplementation.GetShortcutBinding() at :0

ToolbarControl.GetShortcutLabel() at /Ludiq/Ludiq.Peek/Editor/Toolbars/ToolbarControl.cs:346
344: {
345: #if UNITY_2019_1_OR_NEWER
-->346: var mapping = ShortcutManager.instance.GetShortcutBinding($"Peek/{(primary ? "Primary" : "Secondary")} Toolbar {index}");
348: if (!mapping.keyCombinationSequence.Any())

ToolbarControl.DrawInSceneView() at /Ludiq/Ludiq.Peek/Editor/Toolbars/ToolbarControl.cs:470
468: {
469: toolControl.shortcutIndex = shortcutIndex % 10;
-->470: toolControl.shortcutLabel = GetShortcutLabel(shortcutIndex, hasPrimaryShortcuts);
471: toolControl.shortcutModifiers = GetShortcutModifiers(shortcutIndex, hasPrimaryShortcuts);
472: shortcutIndex++;

Tabs.OnSceneGUI() at /Ludiq/Ludiq.Peek/Editor/Tabs/Tabs.cs:250
248: }
-->250: toolbarControl.DrawInSceneView();
252: if (!reopenedTabs)

SceneViewIntegration.OnSceneGUI() at /Ludiq/Ludiq.Peek/Editor/Integration/SceneViewIntegration.cs:37
35: used = false;
-->37: Tabs.OnSceneGUI(sceneView);
39: SceneToolbars.OnSceneGUI(sceneView);

SceneView.CallOnSceneGUI() at :0

SceneView.HandleSelectionAndOnSceneGUI() at :0

SceneView.OnGUI() at :0

MonoMethod.Invoke() at :0

MonoMethod.Invoke() at :0

MethodBase.Invoke() at :0

HostView.Invoke() at :0

HostView.Invoke() at :0

HostView.InvokeOnGUI() at :0

MaximizedHostView.OldOnGUI() at :0

IMGUIContainer.DoOnGUI() at <78b213560771414e9fa6f1b95f5ad8bb>:0

IMGUIContainer.HandleIMGUIEvent() at <78b213560771414e9fa6f1b95f5ad8bb>:0

IMGUIContainer.DoIMGUIRepaint() at <78b213560771414e9fa6f1b95f5ad8bb>:0

RenderChainCommand.ExecuteNonDrawMesh() at <78b213560771414e9fa6f1b95f5ad8bb>:0

RenderChain.Render() at <78b213560771414e9fa6f1b95f5ad8bb>:0

UIRRepaintUpdater.DrawChain() at <78b213560771414e9fa6f1b95f5ad8bb>:0

UIRRepaintUpdater.Update() at <78b213560771414e9fa6f1b95f5ad8bb>:0

VisualTreeUpdater.UpdateVisualTreePhase() at <78b213560771414e9fa6f1b95f5ad8bb>:0

Panel.UpdateForRepaint() at <78b213560771414e9fa6f1b95f5ad8bb>:0

Panel.Repaint() at <78b213560771414e9fa6f1b95f5ad8bb>:0

UIElementsUtility.DoDispatch() at <78b213560771414e9fa6f1b95f5ad8bb>:0

UIElementsUtility.ProcessEvent() at <78b213560771414e9fa6f1b95f5ad8bb>:0

GUIUtility.ProcessEvent() at <819de1aa368e45faa4f78e26c97c62b0>:0


Second one:
[Exception] ArgumentException: Shortcut not available
ShortcutManagerImplementation.GetShortcutBinding() at :0

ToolbarControl.GetShortcutLabel() at /Ludiq/Ludiq.Peek/Editor/Toolbars/ToolbarControl.cs:346
344: {
345: #if UNITY_2019_1_OR_NEWER
-->346: var mapping = ShortcutManager.instance.GetShortcutBinding($"Peek/{(primary ? "Primary" : "Secondary")} Toolbar {index}");
348: if (!mapping.keyCombinationSequence.Any())

ToolbarControl.DrawInSceneView() at /Ludiq/Ludiq.Peek/Editor/Toolbars/ToolbarControl.cs:470
468: {
469: toolControl.shortcutIndex = shortcutIndex % 10;
-->470: toolControl.shortcutLabel = GetShortcutLabel(shortcutIndex, hasPrimaryShortcuts);
471: toolControl.shortcutModifiers = GetShortcutModifiers(shortcutIndex, hasPrimaryShortcuts);
472: shortcutIndex++;

Tabs.OnSceneGUI() at /Ludiq/Ludiq.Peek/Editor/Tabs/Tabs.cs:250
248: }
-->250: toolbarControl.DrawInSceneView();
252: if (!reopenedTabs)

SceneViewIntegration.OnSceneGUI() at /Ludiq/Ludiq.Peek/Editor/Integration/SceneViewIntegration.cs:37
35: used = false;
-->37: Tabs.OnSceneGUI(sceneView);
39: SceneToolbars.OnSceneGUI(sceneView);

SceneView.CallOnSceneGUI() at :0

SceneView.HandleSelectionAndOnSceneGUI() at :0

SceneView.OnGUI() at :0

MonoMethod.Invoke() at :0

MonoMethod.Invoke() at :0

MethodBase.Invoke() at :0

HostView.Invoke() at :0

HostView.Invoke() at :0

HostView.InvokeOnGUI() at :0

MaximizedHostView.OldOnGUI() at :0

IMGUIContainer.DoOnGUI() at <78b213560771414e9fa6f1b95f5ad8bb>:0

Waiting for response :)

+3

Global Disable Hotkey

homemech 6 months ago 0

Feature request from Discord to have a global disable for all of Peek. Perhaps a toggle in the preferences to choose whether the "b" key disables all of Peek or just the toolbars? Had a recent Discord discussion on control+shift being a useful Unity shortcut for vertex-on-surface game object snapping, this might help with that. 

+2
Not a Bug

Cannot open two instances of the Fuzzy window at once

Andrew Scott 6 months ago updated 1 month ago 14

So I am in 2D, created a Grid of Game Objects with children (10x10) and then created a prefab of one of these. Made no changes to the prefab, if that matters and then selected all 100 of those game Objects, then proceeded to replace the normal game objects with the prefab.

Now while it worked, I got 99 errors in the console saying

InvalidOperationException: Cannot open two instances of the fuzzy window at once.
Ludiq.PeekCore.FuzzyWindow.Show (UnityEngine.Rect activatorPosition, Ludiq.PeekCore.IFuzzyOptionTree optionTree, System.Action`1[T] callback) (at Assets/Ludiq/Ludiq.PeekCore/Editor/Interface/Fuzzy/FuzzyWindow.cs:299)
Ludiq.PeekCore.LudiqGUI.FuzzyDropdown (UnityEngine.Rect activatorPosition, Ludiq.PeekCore.IFuzzyOptionTree optionTree, System.Object selected, System.Action`1[T] callback) (at Assets/Ludiq/Ludiq.PeekCore/Editor/Interface/LudiqGUI.cs:2512)
Ludiq.Peek.Replacer.Open (UnityEngine.GameObject[] targets, UnityEngine.Rect activatorPosition) (at Assets/Ludiq/Ludiq.Peek/Editor/Creator/Replacer.cs:24)
Ludiq.Peek.GameObjectOperations.Replace (UnityEngine.GameObject[] targets, UnityEngine.Rect activatorPosition) (at Assets/Ludiq/Ludiq.Peek/Editor/Context/GameObjectOperations.cs:145)
Ludiq.Peek.CreatorMenuIntegration+<>c__DisplayClass9_0.b__0 () (at Assets/Ludiq/Ludiq.Peek/Editor/Creator/CreatorMenuIntegration.cs:76)
Ludiq.Peek.GuiCallback.Process () (at Assets/Ludiq/Ludiq.Peek/Editor/Integration/GuiCallback.cs:35)
UnityEngine.Debug:LogException(Exception)
Ludiq.Peek.GuiCallback:Process() (at Assets/Ludiq/Ludiq.Peek/Editor/Integration/GuiCallback.cs:39)
Ludiq.Peek.HierarchyToolbars:OnHierarchyItemGUI(Int32, Rect) (at Assets/Ludiq/Ludiq.Peek/Editor/Toolbars/Integrations/HierarchyToolbars.cs:26)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

+2
Fixed

Unable to use Peek with 2020.1 beta

spaceemotion 7 months ago updated by Lazlo Bonin (Lead Developer) 6 months ago 1

I am getting the following errors during compilation in 2020.1 beta 5:

- Assets\Ludiq\Ludiq.Peek\Editor\Hierarchies\HierarchyPopup.cs(2,7): error CS0246: The type or namespace name 'Boo' could not be found (are you missing a using directive or an assembly reference?)

- Assets\Ludiq\Ludiq.Peek\Editor\Hierarchies\HierarchyPopup.cs(24,27): error CS0246: The type or namespace name 'List<>' could not be found (are you missing a using directive or an assembly reference?)

+2
Cannot Reproduce

Please automatically focus on Game window when entering Play mode

hoodust 8 months ago updated 2 months ago 4

With Peek, the Game window doesn't automatically gain focus when entering Play mode, like it does in vanilla Unity. This forces you to click within the Game window after hitting Play and the scene loads. 

In case it makes a difference, I have a dual-monitor set up and the Game window is alone on the second monitor. 

This small thing actually makes testing extremely frustrating, especially since I hide the mouse cursor when the scene loads, and with Peek it hides the mouse cursor across both monitors for some reason, so it's even harder to find the Game window and click on it.

Thanks!

+2
Fixed

Getting weird delaying Plugin container init because database is not yet initialised

Andrew Scott 11 months ago updated by Lazlo Bonin (Lead Developer) 11 months ago 6

So right through the Beta 2019.3.0 versions I never saw this message and am now seeing it, it doesn't appear all the time, but when it does Unity hangs for about 5 mins give or take.

It usually appears when I double click any area that loads up Visual Studio 2019, you can not click on anything in the Editor while it is in this tight loop. Eventually the IDE will load up and then the following warning appears in the console.

This seems to only be happening since 2019.3.0f1 was released, never saw it on previous beta versions or other versions of Unity. And unlike what the message says, this is not a new project, even thought it was created in Unity 2019.3.0, I have been working on it for a few days now.

I am not sure if this helps or not, but I have had this Editor open for the last 2 days, but I doubt that has anything to do with it. But just in case it was one of those things that happens for longer periods of use.

Delaying plugin container initialization because asset database is not yet initialized.
This can happen after a project reimport or Unity upgrade.

UnityEngine.Debug:Log(Object)
Ludiq.PeekCore.PluginContainer:.cctor() (at Assets/Ludiq/Ludiq.PeekCore/Editor/Plugins/PluginContainer.cs:25)
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes(Type[])

+1
Under Review

WhiteList folders

MadZero 5 days ago updated 2 days ago 2

If you want to do level design only using prefabs, you have to list a lot of  folders to black list to make the fuzzy faster and only use that one folder, so the idea here is to name one/two folders as whitelist and fuzzy uses them only, if that is empty it uses all but blackList. 

+1

Quick scene switching functionlity

Jose Palacio 3 weeks ago 0

Hi, I would like to suggest a functionality to be able to quickly switch between scenes. I personally find myself all the time looking for the scenes I am working on on the Project folder in order to open them, and I would love to have this simple task simplified by Peek. Hierarchy Pro has this functionality already, but I don't use it because I like Peek better, but the fact that this functionality is not there yet, it's really heartbreaking :(

Thank you anyway!