sisusco / power-inspector Goto Github PK
View Code? Open in Web Editor NEWReport bugs and offer improvement ideas for Power Inspector.
Home Page: http://u3d.as/1sNc
Report bugs and offer improvement ideas for Power Inspector.
Home Page: http://u3d.as/1sNc
Modifying the value of a serialized field which is also decorated with the MinAttribute
or the PMinAttribute
in the inspector causes it to reset to whatever value is assigned in the respective Min
or PMin
attribute constructor.
MonoBehaviour
objectprivate int
field and give it any nameMinAttribute
or the PMinAttribute
, specifying any positive value as the attribute's constructor parameterMonoBehaviour
to any GameObject
in the sceneIt is expected that inserting a value into the serialized field via the text-box will actually apply the user-specified value. What actually happens is the value is immediately overridden with whatever value was specified within the constructor of the Min
or PMin
attribute.
Running Unity 2019.3.0f5 with Power Inspector 1.3.2
If you single-click the object reference of an asset, and the Project window is not visible, the user won't be able to see the pinging take place. Same thing with the object reference of a scene object, if the Hierarchy window is not visible.
Expected behaviour:
If an instance of a Project/Hierarchy window is found, it should be pushed to the front of its tab group, so that the pinging action can be seen by the user.
Note:
Ignore Project/Hierarchy windows that are in the same tab group with the inspector in question.
Note 2:
It might be best to make this functionality optional, so that if somebody has other EditorWindows which also could respond to pinging, this feature doesn't push them to the background.
Game Object only has a Sprite Renderer Component and this error repeats when Power Inspector window is open and object is selected in heirarchy.
Universal Render Pipeline is in use with the Experimental 2d Renderer which may be affecting the Sprite Renderer component.
Unity version: 2019.3.2f1
You cannot call GetLast immediately after beginning a group.
UnityEngine.GUILayoutUtility:GetLastRect()
Sisus.EditorGUIDrawer:AssetHeader(Rect, Editor) (at Assets/Sisus/Power Inspector/Code/DrawGUI/EditorGUIDrawer.cs:442)
Sisus.CustomEditorAssetDrawer:DrawHeaderBase(Rect) (at Assets/Sisus/Power Inspector/Code/Drawers/UnityObject/Asset/CustomEditor/CustomEditorAssetDrawer.cs:620)
Sisus.UnityObjectDrawer`2:DrawPrefix(Rect) (at Assets/Sisus/Power Inspector/Code/Drawers/UnityObject/UnityObjectDrawer.cs:1734)
Sisus.CustomEditorBaseDrawer`2:DrawPrefix(Rect) (at Assets/Sisus/Power Inspector/Code/Drawers/UnityObject/CustomEditorBaseDrawer.cs:608)
Sisus.CustomEditorAssetDrawer:DrawPrefix(Rect) (at Assets/Sisus/Power Inspector/Code/Drawers/UnityObject/Asset/CustomEditor/CustomEditorAssetDrawer.cs:699)
Sisus.CustomEditorBaseDrawer`2:Draw(Rect) (at Assets/Sisus/Power Inspector/Code/Drawers/UnityObject/CustomEditorBaseDrawer.cs:549)
Sisus.GameObjectDrawer:DrawBody(Rect) (at Assets/Sisus/Power Inspector/Code/Drawers/UnityObject/GameObject/GameObjectDrawer.cs:1726)
Sisus.GameObjectDrawer:Draw(Rect) (at Assets/Sisus/Power Inspector/Code/Drawers/UnityObject/GameObject/GameObjectDrawer.cs:1545)
Sisus.Inspector:DrawViewport() (at Assets/Sisus/Power Inspector/Code/Inspector/Core/Inspector.cs:1822)
Sisus.Inspector:DrawViewport(Rect) (at Assets/Sisus/Power Inspector/Code/Inspector/Core/Inspector.cs:1756)
Sisus.PowerInspector:OnGUI(Rect, Boolean) (at Assets/Sisus/Power Inspector/Code/Inspector/Power Inspector/PowerInspector.cs:144)
Sisus.InspectorDrawerWindow:OnGUI() (at Assets/Sisus/Power Inspector/Code/Editor/EditorWindow/InspectorDrawerWindow.cs:1775)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Hey there,
I came across your asset and thought it seemed rather interesting. My only concern is compatibility with Odin Inspector, do you happen to know if there is any sort of confliction? Both assets do fairly different stuff but I am sure there is probably some overlap, but not sure if that is going to cause an issue.
Thanks,
-MH
When trying to edit a material on a mesh renderer/sprite renderer with the material dropdown below. Nothing responds. Selecting text prompts selects nothing, dragging to change numbers doesn't work.
Additionally selecting new textures in the quick material editing while it brings up the drawer, changing options does nothing.
Selecting materials directly does work however.
Using version 1.5.1 of power Inspector
Using Unity 2019.4.8f1
-Dev pls fix. (And thanks for the previous fix, works great now!)
Bug in action:
Shadergraph Bug.zip
PI: 1.6.3
Unity: 2020.3.22f1
I've got a custom property drawer targeting an open generic type like the following:
[CustomPropertyDrawer(typeof(ClampableVariable<>), true)]
I then have types deriving from this type like:
class ClampableFloat : ClampableVariable<float>
class ClampableChar : ClampableVariable<char>
I've also got a custom Editor
like:
[CustomEditor(typeof(ClampableVariable<>), true)]
PowerInspector does not detect that these types implement this generic type as a result of how Type.IsSubclassOf
works and thus the PropertyDrawer
and Editor
does not get used to render these types in PowerInspector.
I found this StackOverflow post which provides a handy method for checking if a type inherits from a given generic type:
static bool IsSubclassOfRawGeneric(Type generic, Type toCheck) {
while (toCheck != null && toCheck != typeof(object)) {
var cur = toCheck.IsGenericType ? toCheck.GetGenericTypeDefinition() : toCheck;
if (generic == cur) {
return true;
}
toCheck = toCheck.BaseType;
}
return false;
}
I noticed that Unity's native inspector can handle rendering the Editor
but not the PropertyDrawer
(even though they both target the open generic type).
Clicking the "Target" button on the right side of a serialized inspector field opens the "Select [Component Type]" popup as expected.
However, when this is done through PowerInspector, it does not appear to be cognizant of any currently-open prefab editing environment.
The 'Self' tab, which should display all components of matching types in the scene or prefab you're editing, only ever displays components from the currently open scene, even when the user is in a prefab editing workflow.
For example, compare the result of opening this window through the normal inspector vs PowerInspector:
In this example, the editor is in a prefab editing context for ExamplePrefab with a Scene open in the background.
The currently open scene only has one Image component, on a GameObject named "SceneObject".
The currently edited prefab only has one Image on its root GameObject, attached to the same GameObject as the component with the inspector reference.
Observe that the "Self" tab opened via PowerInspector shows SceneObject alone as its only option, where Unity's native inspector properly shows ExamplePrefab and not SceneObject.
In material drawers, I can't choose items from pulldown menus. For instance, can't choose Opaque for Rendering Mode.
I've got a custom property drawer targeting an interface like the following:
[CustomPropertyDrawer(typeof(IEditorClampableVariable), true)]
It works perfectly using the native Unity inspector but PowerInspector doesn't seem to detect it at all.
I took a look through the source and made a few observations that may be of some help:
CustomEditorUtility.cs
in the method GetDrawersByInheritedInspectedTypesFromAttributes
there is a check for if (!targetType.IsClass)
with a comment saying "value types don't support inheritance". Interface types will return false
here. The Type.IsValueType
is preferable to check for value types.targetType.GetExtendingType
which will only check the type against known Unity components/scriptable objects if it is a type that derives from UnityEngine.Object
(which interfaces will not).Type.IsSubclassOf
throughout the codebase which will not return true for types that implement interfaces (instead the Type.IsAssignableFrom
method could be used).I understand that there is probably a lot of work involved in making Drawers work when targeting interfaces but my workflow now involves switching back-and-forth between the native inspector and PowerInspector very frequently (when ideally I would like to just stay in PowerInspector!)
On a fresh project, I import PowerInspector and create a script with just an AnimationCurve field. I add this script to two simple game objects in a scene (boxes or spheres for example) and edit the curve in one of the objects. Then, through a PowerInspector window I select the AnimationCurve, copy it and paste it in the other object. Unity crashes.
At some point Power Inspector crashed whenever I wanted to Undo something. Reverting my project to the previous version has fixed the issue, so I am not sure what was causing it, but with Unity inspector opened it didn't crash.
My Unity version: 2018.4.11f1
Version of the Power Inspector: 1.2.7
In order to reproduce:
There's a long (3 second?) lag after pressing Show in Explorer button in asset headers.
sometimes when entering play mode we encounter following exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Threading.ThreadAbortException
at (wrapper managed-to-native) System.RuntimeTypeHandle.GetBaseType(System.RuntimeType)
at System.RuntimeType.GetBaseType () [0x00081] in :0
at System.RuntimeType.IsSubclassOf (System.Type type) [0x00020] in :0
at Sisus.TypeExtensions.GetExtendingUnityObjectTypes (System.Type type, System.Boolean includeInvisible, System.Boolean includeAbstract) [0x00413] in Assets\Sisus\Power Inspector\Code\Editor\Extensions\TypeExtensions.cs:1839
at Sisus.DefaultDrawerProvider.BuildDictionariesForInheritedTypes (Sisus.DrawerProviderData drawerProviderData, System.Collections.Generic.List`1[T] drawerTypes, System.Boolean isFallback) [0x00435] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DefaultDrawerProvider.cs:747
at Sisus.DefaultDrawerProvider.BuildDictionariesThreaded (Sisus.DrawerProviderData drawersFor) [0x000fa] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DefaultDrawerProvider.cs:167
at Sisus.DrawerProviderBase..ctor () [0x00028] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DrawerProviderBase.cs:86
at Sisus.DefaultDrawerProvider..ctor () [0x00000] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DefaultDrawerProvider.cs:50
at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke(System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00002] in :0
--- End of inner exception stack trace ---
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00014] in :0
at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) [0x000a8] in :0
at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00009] in :0
at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00027] in :0
at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x0002c] in :0
at System.Activator.CreateInstance (System.Type type) [0x00000] in :0
at Sisus.DefaultDrawerProviders.SetupThreaded (System.Object threadTaskId) [0x00139] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DefaultDrawerProviders.cs:251
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) [0x00007] in :0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in :0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in :0
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00021] in :0
at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in :0
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in :0
could you have a look at it ? it doesn't break anything but its a bit annoying and i dont have time for a deep investigation - if you need more information feel free to ask
Unity Version: 2018.4.11.f1
OS: Windows
Steps:
Result:
Nothing happens
Expected Result:
Values should be added to the array. This feature is standard Unity feature
I have a custom PropertyDrawer
for drawing the fields of a ScriptableObject
.
It works great with PowerInspector for the most part but it does not get used when a declared field type is abstract
(even though the injected type is a derived, non-abstract
type).
To clarify on that, here's what I've got in my project:
ScriptableObject
called RoomLayoutGenerator
which is marked as abstract
.RoomLayoutGenerator
called LinearRoomLayoutGenerator
which is not marked as abstract
MonoBehaviour
which declares a private
serialized field of type RoomLayoutGenerator
(note: the abstract
one)LinearRoomLayoutGenerator
into the field on the MonoBehaviour
In doing this, I would expect my custom property drawer to be used, but instead the AbstractDrawer
is used.
Removing the abstract
qualifier from the base type solves the problem but I'd like to refrain from doing this as it introduces a code-smell into my project.
Similarly, changing the declared type on the MonoBehaviour
to one of the derived types solves this too, but of course that defeats the entire purpose of what I'm trying to achieve (a strategy pattern-like approach using ScriptableObject
).
I understand that this may not be an "issue" so-to-speak but if there is a more elegant way for me to get my custom drawer used on a declared abstract type that'd be fantastic.
Thanks for your help.
I just bought your inspector, and it seems to work on normal unity objects.
I tried using it on the new InputController, and it's not working. seems to be due to an infinite loop (unity crashes) attaching a debugger shows that the power inspector code spins parsing properties.
i attached a project to repro with. [edit: downloaded and removed]
repo steps:
dwarf_hero
in the hiearchy,Player (Script)
component, click the Debug+
optionPlyr Ctrls
property. This causes an infinite loop in power-inspector.I purchased Power Inspector about 2 weeks ago. However, each time I enable it (3 times so far), I find that within about 5 minutes Unity (version 2018.4.10f1) has crashed; if I don't use Power Inspector, I don't seem to have any problems with crashes. I know one of the crashes was when using the search facility to try to find a property in the inspector, however, I did not capture a log that time. The most recent crash was I think just returning to the editor after switching to another application. I captured a log this time:
`Copied "Content Size Fitter" values
"m_HorizontalFit": 2,
"m_VerticalFit": 0
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
Sisus.Clipboard:SendCopyToClipboardMessage(String, String, String) (at Assets/Sisus/Power Inspector/Code/Editor/Generic/Clipboard/Clipboard.cs:999)
Sisus.BaseDrawer:SendCopyToClipboardMessage(String, String) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2659)
Sisus.BaseDrawer:SendCopyToClipboardMessage(String) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2651)
Sisus.BaseDrawer:SendCopyToClipboardMessage() (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2643)
Sisus.BaseDrawer:CopyToClipboard(Int32) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2497)
Sisus.BaseDrawer:CopyToClipboard() (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2489)
UnityEditor.GenericMenu:CatchMenu(Object, String[], Int32) (at /Users/builduser/buildslave/unity/build/Editor/Mono/GUI/GenericMenu.cs:121)
(Filename: Assets/Sisus/Power Inspector/Code/Editor/Generic/Clipboard/Clipboard.cs Line: 999)
Copied "Horizontal Layout Group" values
"m_Padding": {
"$id": 0,
"$type": "0|UnityEngine.RectOffset, UnityEngine.CoreModule"
},
"m_ChildAlignment": 4,
"m_Spacing": 0,
"m_ChildForceExpandWidth": true,
"m_ChildForceExpandHeight": true,
"m_ChildControlWidth": false,
"m_ChildControlHeight": false
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
Sisus.Clipboard:SendCopyToClipboardMessage(String, String, String) (at Assets/Sisus/Power Inspector/Code/Editor/Generic/Clipboard/Clipboard.cs:999)
Sisus.BaseDrawer:SendCopyToClipboardMessage(String, String) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2659)
Sisus.BaseDrawer:SendCopyToClipboardMessage(String) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2651)
Sisus.BaseDrawer:SendCopyToClipboardMessage() (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2643)
Sisus.BaseDrawer:CopyToClipboard(Int32) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2497)
Sisus.BaseDrawer:CopyToClipboard() (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/BaseDrawer.cs:2489)
UnityEditor.GenericMenu:CatchMenu(Object, String[], Int32) (at /Users/builduser/buildslave/unity/build/Editor/Mono/GUI/GenericMenu.cs:121)
(Filename: Assets/Sisus/Power Inspector/Code/Editor/Generic/Clipboard/Clipboard.cs Line: 999)
Receiving unhandled NULL exception
Obtained 13 stack frames.
#0 0x000001010ad0c7 in void Transfer_SimpleNativeClass<StreamedBinaryWrite, RectOffset, false>(SerializationCommandArguments const&, RuntimeSerializationCommandInfo&)
#1 0x0000010104a8ae in void ExecuteSerializationCommands(SerializationCommandProvider&, StreamedBinaryWrite&, GeneralMonoObject const&)
#2 0x0000010104a650 in void TransferScriptingObject(StreamedBinaryWrite&, ScriptingObjectPtr, ScriptingClassPtr, MonoScriptCache const*)
#3 0x00000101041b79 in void SerializableManagedRefTransfer::Transfer(Object*, SerializableManagedRef&, StreamedBinaryWrite&, bool)
#4 0x00000101108ee4 in WriteObjectToVector(Object const&, dynamic_array<unsigned char, 0ul>&, TransferInstructionFlags)
#5 0x0000010140adfa in SerializedObject::Update()
#6 0x000001c022811d in (wrapper managed-to-native) UnityEditor.SerializedObject:Update (UnityEditor.SerializedObject) {0x13b92c618} + 0x11d (0x1c0228000 0x1c0228224) [0x20ada5c80 - Unity Child Domain]
#7 0x0000019b6d3060 in mono_jit_runtime_invoke
#8 0x0000019b8947e5 in do_runtime_invoke
#9 0x0000019b897b31 in mono_runtime_try_invoke_array
#10 0x0000019b846c84 in ves_icall_InternalInvoke
#11 0x0000019e02af50 in (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) {0x110a4c9f0} + 0x130 (0x19e02ae20 0x19e02b041) [0x20ada5c80 - Unity Child Domain]
#12 0x0000019e3ef3a8 in System.Reflection.MethodBase:Invoke (object,object[]) {0x10fdf0ae0} + 0x88 (0x19e3ef320 0x19e3ef400) [0x20ada5c80 - Unity Child Domain]
Launching bug reporter
[Performance] WebView.DoCefMessages : 845 samples, Peak. 124 ms (225.6x), Avg. 547 us, Total. 462.6 ms (0.0%)
[Performance] WebView.CheckCurlRequests : 264 samples, Peak. 936 us (149.8x), Avg. 6.25 us, Total. 1.649 ms (0.0%)
[Performance] License.Tick : 2543016 samples, Peak. 3.16 ms (2332.8x), Avg. 1.36 us, Total. 3.449 s (0.0%)
[Performance] UnityConnect.Tick : 1424216 samples, Peak. 48.3 ms (1869.2x), Avg. 25.9 us, Total. 36.83 s (0.0%)
[Performance] PackageManager::RunRequestSynchronously : 5 samples, Peak. 70.1 ms (5.0x), Avg. 14.0 ms, Total. 70.25 ms (0.0%)
[Performance] ApplicationTickTimer : 3900945 samples, Peak. 22.6 ks (534418.6x), Avg. 42.3 ms, Total. 165.2 ks (72.2%)
[Performance] VCProvider : 3900946 samples, Peak. 40.8 ms (6513.7x), Avg. 6.26 us, Total. 24.43 s (0.0%)
[Performance] MonoCompiler.Tick : 447412 samples, Peak. 177 s (272884.5x), Avg. 648 us, Total. 289.7 s (0.1%)
[Performance] Internal_SwitchSkin : 3900946 samples, Peak. 952 us (9512.5x), Avg. 100 ns, Total. 390.4 ms (0.0%)
[Performance] Collab.Tick : 1423243 samples, Peak. 10.5 ms (5702.5x), Avg. 1.85 us, Total. 2.628 s (0.0%)
[Performance] WebView.Tick : 2542142 samples, Peak. 224 s (523407.6x), Avg. 428 us, Total. 1.087 ks (0.5%)
[Performance] CurlRequest.Tick : 807143 samples, Peak. 18.9 ms (13837.1x), Avg. 1.37 us, Total. 1.105 s (0.0%)
[Performance] SceneBackgroundTask.Tick : 586300 samples, Peak. 323 us (1296.7x), Avg. 249 ns, Total. 146.1 ms (0.0%)`
Please let me know if I could provide any further info.
When creating a new script in a folder/subfolder affected by an Assembly Definition file it wraps the class in the Root
Namespace set in the AD, if there is one.
Creating a script using the C# Scripting Wizard does not seem to take the AD's Root Namespace into account at all.
Its a pretty minor issue but it may be a good idea to add that functionality.
Maybe with a flag to turn it on/off.
So if it's ON the namespace field gets greyed out and uneditable, and it uses the AD Root Namespace.
If it's OFF it ignores the AD completely and lets you specify a namespace.
Unity 2020.1
The following errors are present on input:
Assets\Sisus\Power Inspector\Code\Editor\Compatibility\OdinInspectorAttributeConverterProvider.cs(133,42): error CS1061: 'ShowIfAttribute' does not contain a definition for 'Condition' and no accessible extension method 'Condition' accepting a first argument of type 'ShowIfAttribute' could be found (are you missing a using directive or an assembly reference?)
Assets\Sisus\Power Inspector\Code\Editor\Compatibility\OdinInspectorAttributeConverterProvider.cs(140,48): error CS1061: 'DisableIfAttribute' does not contain a definition for 'Condition' and no accessible extension method 'Condition' accepting a first argument of type 'DisableIfAttribute' could be found (are you missing a using directive or an assembly reference?)
Assets\Sisus\Power Inspector\Code\Editor\Extensions\TypeExtensions.cs(498,30): error CS0104: 'AssemblyFlags' is an ambiguous reference between 'UnityEditor.Compilation.AssemblyFlags' and 'System.Reflection.AssemblyFlags'
Assets\Sisus\Power Inspector\Code\Editor\Extensions\TypeExtensions.cs(498,63): error CS0104: 'AssemblyFlags' is an ambiguous reference between 'UnityEditor.Compilation.AssemblyFlags' and 'System.Reflection.AssemblyFlags'
Unity Version: 2018.4.11.f1
OS: Windows
Steps:
Result:
"Pasted value to " popup appears but the list of event listeners is still null. (see screenshot). Also following exception occurs in the log:
GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Expected Result:
The listener was successfully copied into the second event.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object at ARIA_OR.InstructionsData.BuildDictionary () [0x00057] in D:\WorkForWork\ARIA-OR\Assets\_ARIA_OR\Scripts\Production\UIGen\InstructionsData.cs:34 at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&) at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <567df3e0919241ba98db88bec4c6696f>:0 --- End of inner exception stack trace --- at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <567df3e0919241ba98db88bec4c6696f>:0 at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0 at Sisus.MethodDrawer.GetValue (System.Int32 index, System.String& error) [0x001ba] in D:\WorkForWork\ARIA-OR\Assets\Sisus\Power Inspector\Code\Drawers\Field\Parent\Method\MethodDrawer.cs:572 UnityEngine.Debug:LogError(Object, Object) Sisus.NotificationMessageDispenser:Message(GUIContent, Object, MessageType, Boolean) (at Assets/Sisus/Power Inspector/Code/Editor/EditorWindow/Messaging/NotificationMessageDispenser.cs:57) Sisus.InspectorDrawerWindow:Message(GUIContent, Object, MessageType, Boolean) (at Assets/Sisus/Power Inspector/Code/Editor/EditorWindow/InspectorDrawerWindow.cs:2045) Sisus.PowerInspector:Message(GUIContent, Object, MessageType, Boolean) (at Assets/Sisus/Power Inspector/Code/Inspector/Power Inspector/PowerInspector.cs:223) Sisus.Inspector:Message(String, Object, MessageType, Boolean) (at Assets/Sisus/Power Inspector/Code/Inspector/Core/Inspector.cs:354) Sisus.MethodDrawer:GetValue(Int32, String&) (at Assets/Sisus/Power Inspector/Code/Drawers/Field/Parent/Method/MethodDrawer.cs:625) Sisus.MethodDrawer:Invoke(String&, Boolean) (at Assets/Sisus/Power Inspector/Code/Drawers/Field/Parent/Method/MethodDrawer.cs:1143) Sisus.MethodDrawer:Invoke() (at Assets/Sisus/Power Inspector/Code/Drawers/Field/Parent/Method/MethodDrawer.cs:1051) Sisus.MethodDrawer:OnClick(Event) (at Assets/Sisus/Power Inspector/Code/Drawers/Field/Parent/Method/MethodDrawer.cs:893) Sisus.Inspector:OnMouseDown(Event) (at Assets/Sisus/Power Inspector/Code/Inspector/Core/Inspector.cs:1444) Sisus.InspectorUtility:BeginInspector(IInspector, Boolean&) (at Assets/Sisus/Power Inspector/Code/Inspector/Utility/InspectorUtility.cs:492) Sisus.PowerInspector:OnGUI(Rect, Boolean) (at Assets/Sisus/Power Inspector/Code/Inspector/Power Inspector/PowerInspector.cs:99) Sisus.InspectorDrawerWindow:OnGUI() (at Assets/Sisus/Power Inspector/Code/Editor/EditorWindow/InspectorDrawerWindow.cs:1750) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
Sometimes when exiting play mode, (SerializedObject target has been destroyed) is spammed to the console several times per second until the object is deselected.
Error trace below:
SerializedObject target has been destroyed.
UnityEditor.MeshRendererEditor:OnInspectorGUI()
Sisus.CustomEditorBaseDrawer2:DrawOnInspectorGUI(Editor) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/UnityObject/CustomEditorBaseDrawer.cs:1062) Sisus.CustomEditorBaseDrawer
2:OnInspectorGUI(Editor) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/UnityObject/CustomEditorBaseDrawer.cs:1012)
Sisus.CustomEditorBaseDrawer2:DrawMembers(Rect) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/UnityObject/CustomEditorBaseDrawer.cs:880) Sisus.CustomEditorBaseDrawer
2:DrawBody(Rect) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/UnityObject/CustomEditorBaseDrawer.cs:836)
Sisus.RendererDrawer:DrawBody(Rect) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/UnityObject/Component/CustomEditor/RendererDrawer.cs:28)
Sisus.CustomEditorBaseDrawer2:Draw(Rect) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/UnityObject/CustomEditorBaseDrawer.cs:751) Sisus.GameObjectDrawer:DrawBody(Rect) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/UnityObject/GameObject/GameObjectDrawer.cs:1877) Sisus.GameObjectDrawer:Draw(Rect) (at Assets/Sisus/Power Inspector/Code/Editor/Drawers/UnityObject/GameObject/GameObjectDrawer.cs:1687) Sisus.Inspector
2:DrawViewport() (at Assets/Sisus/Power Inspector/Code/Editor/Inspector/Core/Inspector.cs:1892)
Sisus.Inspector2:DrawViewport(Rect) (at Assets/Sisus/Power Inspector/Code/Editor/Inspector/Core/Inspector.cs:1817) Sisus.PowerInspector:OnGUI(Rect, Boolean) (at Assets/Sisus/Power Inspector/Code/Editor/Inspector/Power Inspector/PowerInspector.cs:139) Sisus.InspectorDrawerWindow
2:OnGUI() (at Assets/Sisus/Power Inspector/Code/Editor/EditorWindow/InspectorDrawerWindow.cs:2195)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
On this specific instance it occured to a Meshrenderer but I've also seen it happen to a Line Renderer.
Doesn't seem to be causing any issue that I can see, but its rather distracting and worrysome.
-Dev, pretty pls fix.
In the context of an inspector view that has a filter applied, if you right-click a class member element and select "Scroll to show", and the element in question is inside a Component that is currently unfolded, the action won't work.
Expected behaviour: the Component should be automatically unfolded, and the element in question shown in the inspector.
Also: If the class member has any folded dataset parents, those should be unfolded as well.
Unity Version: 2018.4.11.f1
OS: Windows
Steps:
Result:
Context menu has no "Apply to Prefab" / "Apply as override of " options
Expected Result:
Context menu should have "Apply to Prefab" / "Apply as override of " options
Noted an issue with the Power Inspector.
-When selecting a new material to apply to a sprite from the material list, the first selection works. But all other selections do nothing, even double clicking reveals that the only selection accepted is the first one.
Attached is a clip of the bug in action.
Using version 1.5.0 of power Inspector
Using Unity 2019.4.8f1
-Dev, pls fix.
PowerInspectorMaterialBug.zip
When a class, parameter, or type parameter reference is embedded in an XML header comment, the auto-generated XML tooltip that appears in PowerInspector omits the contents of the attribute value entirely. The absence of important inline class or method names present in these comments makes them impossible to understand without inspecting the source script.
For example, observe how the XML comment for someScalerValue
appears in JetBrains Rider's Documentation panel:
Versus how it appears in PowerInspector's tooltip window, where the "SomeUtilityClass" and "PrintScalerValue" strings are missing:
This is the case for all XML attributes with embedded attribute values, including:
<see cref=...
<seealso cref=...
<exception cref=...
<param name=...
<paramref name=...
<typeparam name=...
<typeparamref name=...
At least printing the contents of any cref
or name
attribute value would help considerably.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.