Ragdoll inspector error (not displaying drawer)

There seems to be a bug with the editor when displaying the Ragdoll ability drawer: specifically on line 37 of the RagdolllInspectorDrawer:
FieldInspectorView.AddFields(unityObject, target, Shared.Utility.MemberVisibility.Public, container, onChangeEvent, null, onValidateChange, false, null, true);

After showing the bold text, "Ragdoll" in the inspector, nothing is appearing:
OpsiveRagdollError.png

This error seems to only be occurring with the "Ragdoll" ability.

Prior to this, I was fixing some other issues after using the Character Manager to configure my own character from the one in the Demo scene (the demo scene was pretty buggy too, but I assume that's due to it not being built for HDRP, so no biggy). Certain "Presets" in the Abilities and Item Abilities were not being copied over correctly, and were showing as either "Missing" or "None". I'm not sure if this is related to the error, but worth mentioning. I manually fixed all of these, but Ragdoll is the last one. Unfortunately, I cannot fix it due to this error in the editor. I have tried manually adding the UltimateCharacterLocomotion to an empty gameObject and adding the Ragdoll (as shown in the image above) to see if there was a difference, but no dice.

The full exception:
ArgumentException: Default value is not present in the list of possible values
UnityEngine.UIElements.PopupField`1[T]..ctor (System.String label, System.Collections.Generic.List`1[T] choices, System.String defaultValue, System.Func`2[T,TResult] formatSelectedValueCallback, System.Func`2[T,TResult] formatListItemCallback) (at <05f2afe6185f419bbdba66c4cec39481>:0)
UnityEngine.UIElements.PopupField`1[T]..ctor (System.Collections.Generic.List`1[T] choices, System.String defaultValue, System.Func`2[T,TResult] formatSelectedValueCallback, System.Func`2[T,TResult] formatListItemCallback) (at <05f2afe6185f419bbdba66c4cec39481>:0)
Opsive.Shared.Editor.UIElements.Controls.Attributes.LayerAttributeControl.GetControl (Opsive.Shared.Editor.UIElements.Controls.Attributes.AttributeControlBase+AttributeControlInput input) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.Controls.Attributes.AttributeControlBase.GetAttributeControl (Opsive.Shared.Editor.UIElements.Controls.Attributes.AttributeControlBase+AttributeControlInput input) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddAttributeControl (UnityEngine.Object unityObject, System.Object target, System.Reflection.FieldInfo field, System.Int32 arrayIndex, System.String label, System.String tooltip, System.Boolean adjustLabelWidth, System.Object value, System.Action`2[T1,T2] onAddElement, System.Func`2[T,TResult] onChangeEvent, System.Object userData) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddSingleField (Opsive.Shared.Editor.UIElements.FieldInspectorView+InspectorInput input) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddField (Opsive.Shared.Editor.UIElements.FieldInspectorView+InspectorInput input) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddField (UnityEngine.Object unityObject, System.Object target, System.Reflection.FieldInfo field, UnityEditor.SerializedProperty serializedProperty, System.Action`2[T1,T2] onAddElement, System.Action`1[T] onChangeEvent, System.Func`3[T1,T2,TResult] onValidateChange, System.Boolean searchBaseTypes, System.Action onResizeEvent, System.Boolean adjustLabelWidth, System.Collections.Generic.HashSet`1[T] ignoredFieldNames, System.Object userData) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddFields (UnityEngine.Object unityObject, System.Object target, Opsive.Shared.Utility.MemberVisibility visibility, System.Action`2[T1,T2] onAddElement, System.Action`1[T] onChangeEvent, System.Func`3[T1,T2,TResult] onValidateChange, UnityEditor.SerializedProperty serializedProperty, System.Boolean searchBaseTypes, System.Action onResizeEvent, System.Boolean adjustLabelWidth, System.Collections.Generic.HashSet`1[T] ignoredFieldNames, System.Object userData) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddFields (UnityEngine.Object unityObject, System.Object target, Opsive.Shared.Utility.MemberVisibility visibility, UnityEngine.UIElements.VisualElement container, System.Action`1[T] onChangeEvent, UnityEditor.SerializedProperty serializedProperty, System.Func`3[T1,T2,TResult] onValidateChange, System.Boolean searchBaseTypes, System.Action onResizeEvent, System.Boolean adjustLabelWidth, System.Collections.Generic.HashSet`1[T] ignoredFieldNames, System.Object userData) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.UltimateCharacterController.Editor.Controls.Types.AbilityDrawers.RagdollInspectorDrawer.CreateDrawer (UnityEngine.Object unityObject, System.Object target, UnityEngine.UIElements.VisualElement container, System.Func`3[T1,T2,TResult] onValidateChange, System.Action`1[T] onChangeEvent) (at Assets/THIRD_PARTY_ASSETS/Opsive/UltimateCharacterController/Editor/Controls/AbilityDrawers/RagdollDrawer.cs:37)
Opsive.UltimateCharacterController.Editor.Controls.Types.AbilityDrawers.AbilityControlType.GetHeaderControl (UnityEngine.Object unityObject, System.Object target, System.Reflection.FieldInfo field, UnityEditor.SerializedProperty serializedProperty, System.Int32 arrayIndex, System.Type type, System.Object value, System.Func`2[T,TResult] onChangeEvent, System.Object userData) (at Assets/THIRD_PARTY_ASSETS/Opsive/UltimateCharacterController/Editor/Controls/AbilityDrawers/AbilityControl.cs:83)
Opsive.UltimateCharacterController.Editor.Controls.Types.StateObjectControlType.GetControl (Opsive.Shared.Editor.UIElements.Controls.Types.TypeControlBase+TypeControlInput input) (at Assets/THIRD_PARTY_ASSETS/Opsive/UltimateCharacterController/Editor/Controls/Types/StateObjectControl.cs:39)
Opsive.Shared.Editor.UIElements.Controls.Types.TypeControlBase.GetTypeControl (Opsive.Shared.Editor.UIElements.Controls.Types.TypeControlBase+TypeControlInput input) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddTypeControl (UnityEngine.Object unityObject, System.Object target, System.Reflection.FieldInfo field, UnityEditor.SerializedProperty serializedProperty, System.Int32 arrayIndex, System.Type type, System.String label, System.String tooltip, System.Boolean adjustLabelWidth, System.Object value, System.Boolean searchBaseTypes, System.Action`2[T1,T2] onAddElement, System.Func`2[T,TResult] onChangeEvent, System.Action onResizeEvent, System.Object userData) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddFields (UnityEngine.Object unityObject, System.Object target, Opsive.Shared.Utility.MemberVisibility visibility, System.Action`2[T1,T2] onAddElement, System.Action`1[T] onChangeEvent, System.Func`3[T1,T2,TResult] onValidateChange, UnityEditor.SerializedProperty serializedProperty, System.Boolean searchBaseTypes, System.Action onResizeEvent, System.Boolean adjustLabelWidth, System.Collections.Generic.HashSet`1[T] ignoredFieldNames, System.Object userData) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.FieldInspectorView.AddFields (UnityEngine.Object unityObject, System.Object target, Opsive.Shared.Utility.MemberVisibility visibility, UnityEngine.UIElements.VisualElement container, System.Action`1[T] onChangeEvent, UnityEditor.SerializedProperty serializedProperty, System.Func`3[T1,T2,TResult] onValidateChange, System.Boolean searchBaseTypes, System.Action onResizeEvent, System.Boolean adjustLabelWidth, System.Collections.Generic.HashSet`1[T] ignoredFieldNames, System.Object userData) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.UltimateCharacterController.Editor.Inspectors.Character.UltimateCharacterLocomotionInspector.ShowAbility (System.Boolean abilities, System.Int32 index) (at Assets/THIRD_PARTY_ASSETS/Opsive/UltimateCharacterController/Editor/Inspectors/Character/UltimateCharacterLocomotionInspector.cs:621)
Opsive.UltimateCharacterController.Editor.Inspectors.Character.UltimateCharacterLocomotionInspector+<>c__DisplayClass38_0.<AddAbilityList>b__3 (System.Int32 index) (at Assets/THIRD_PARTY_ASSETS/Opsive/UltimateCharacterController/Editor/Inspectors/Character/UltimateCharacterLocomotionInspector.cs:504)
Opsive.Shared.Editor.UIElements.ReorderableList.SelectItem (System.Int32 index) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.Shared.Editor.UIElements.ReorderableList.set_SelectedIndex (System.Int32 value) (at <d96f8eec336a46ac9a2118208d76f915>:0)
Opsive.UltimateCharacterController.Editor.Inspectors.Character.UltimateCharacterLocomotionInspector.AddAbility (System.Object obj) (at Assets/THIRD_PARTY_ASSETS/Opsive/UltimateCharacterController/Editor/Inspectors/Character/UltimateCharacterLocomotionInspector.cs:643)
UnityEditor.GenericMenu.CatchMenu (System.Object userData, System.String[] options, System.Int32 selected) (at <24e1ed8728684ea3ae446f80787d18de>:0)


My setup:
Unity version: 2022.3.31f1
Render pipeline: HDRP 14.0.10
Ultimate Character Controller version: 3.1
Moved folder location to: Assets/THIRD_PARTY_ASSETS
 
I just tried the ragdoll ability in 2022.3 and it worked. You'll get that popup error if you download a version of the package using a different version of Unity than what it was built for. My guess is that you updated Unity without redownloading the controller from the package manager.
 
I bought the Ultimate Character Controller asset only a couple days ago, and I've been using the 2022.3.21f1 (I accidentally mistyped the version in my previous post, oops) Unity version since March.

Although, I didn't test the asset until after downloading the integrations for HDRP, Input System, Cinemachine, and A* Pathfinding Project. So I opened a fresh new project, and installed the Ultimate Character Controller once more. The error was not present. Then I re-integrated those 4 integrations, and still no error. So, I'm not sure what is causing the error in my main project yet, but I'll keep working on trying to figure it out.

Thanks for the quick response, btw.
 
Top