# Weird Custom Property Behavior

**URL:** <https://forum.inductiveautomation.com/t/weird-custom-property-behavior/114229>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [February 27, 2026, 2:45pm UTC](https://forum.inductiveautomation.com/t/weird-custom-property-behavior/114229 "2026-02-27T14:45:02Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![ryan.white](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryan.white/32/73193_2.png) [@ryan.white](https://forum.inductiveautomation.com/u/ryan.white)\
**Post date:** [February 27, 2026, 5:04pm UTC](https://forum.inductiveautomation.com/t/weird-custom-property-behavior/114229/3 "2026-02-27T17:04:14Z")

</div>

It's a known issue with the object wrapper on perspective properties.

> [@\[IGN-1660\] ObjectWrapper modification](https://forum.inductiveautomation.com/t/bug-15347-objectwrapper-modification/29692):
>
> Dears, I am currently using the 8.0.5 release. After the upgrade from the 8.0.4, I noticed a change in the manipulation of an ObjectWrapper instance. For example: the code below explains what I found: the param parameter is an ObjectWrapper # Configure additional properties param.Username = userName param.Timestamp = fer.util.date.dateToSqlString(fer.util.date.getTimestampUtc()) I try to set the Username and Timestamp properties, but they did not change. The above code run inside a libra…

> [@Cannot use .update() to change key value pairs in ObjectWrapper type](https://forum.inductiveautomation.com/t/cannot-use-update-to-change-key-value-pairs-in-objectwrapper-type/67063):
>
> Ignition Version 8.1.17 I have a Tree component in perspective that I'm using to allow users to modify what items are available in dropdowns in another interface. Each item in the tree has an 'ItemData' dictionary in the 'data' key of the item. I'm able to add to the tree item's 'items' key utilizing .append(), however I am unable to modify the dictionary that is present in the item's 'data' key using .update(). Searching the forums yielded [this](https://forum.inductiveautomation.com/t/bug-15347-objectwrapper-modification/29692) post, but it appears they were trying to modify…

I normally use a modified version of the sanitize function from this post whenever I'm interacting with a dict or list property in a script:

> [@Function to convert json string or python dict into ObjectWrapper](https://forum.inductiveautomation.com/t/function-to-convert-json-string-or-python-dict-into-objectwrapper/32861/16):
>
> Forcing each to the expected type while traversing makes a deep copy: def sanitize\_tree(element): if hasattr(element, '\_\_iter\_\_'): if hasattr(element, 'keys'): return dict((k, sanitize\_tree(element[k])) for k in element.keys()) else: return list(sanitize\_tree(x) for x in element) return element EDIT: Got rid of the unnecessary zip() and used only one keys() iterator instead of two.

---

_[View the full topic](https://forum.inductiveautomation.com/t/weird-custom-property-behavior/114229)._
