18c3e031ec
* Fix UnityEvent wiring via manage_components set_property (#631) UnityEventBase-derived fields set via reflection create disconnected objects that Unity's serialization layer doesn't track, causing m_PersistentCalls to be empty on save. Route these types through SerializedObject/SerializedProperty instead. Adds recursive SerializedProperty setter supporting Generic structs, arrays, ObjectReference, and leaf types (int, bool, float, string, enum). Includes fuzzy child property matching to handle batch_execute stripping underscores from nested JSON keys (tracked in #756). Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * Fix batch_execute mangling nested value keys (#756) batch_execute NormalizeParameterKeys recursively converted all JSON keys to camelCase, including nested value data like Unity serialized property paths (m_PersistentCalls to mPersistentCalls). This broke UnityEvent wiring and any tool receiving structured nested data through batch_execute. Stop recursing into values -- only normalize top-level parameter keys. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Guard against null value in SerializedProperty string setter Address Sourcery review: check value == null before accessing value.Type to prevent NullReferenceException in the string case of SetSerializedPropertyRecursive. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>