# How do you copy custom property without referencing it?

**URL:** <https://forum.inductiveautomation.com/t/how-do-you-copy-custom-property-without-referencing-it/110519>\
**Category:** Ignition\
**Created:** [September 10, 2025, 7:41pm UTC](https://forum.inductiveautomation.com/t/how-do-you-copy-custom-property-without-referencing-it/110519 "2025-09-10T19:41:47Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [September 10, 2025, 9:16pm UTC](https://forum.inductiveautomation.com/t/how-do-you-copy-custom-property-without-referencing-it/110519/6 "2025-09-10T21:16:03Z")

</div>

> [@Eugene49](#):
>
> My own recursive:

If you must do this without Phil’s module:

> [@Copy dictionary and modify it without affecting the original](https://forum.inductiveautomation.com/t/copy-dictionary-and-modify-it-without-affecting-the-original/62297/9):
>
> As @bkarabinchak.psi pointed out even though the structure “looks” like a dict it isn’t actually a dict. Actually the type of a perspective property when accessed from a script is:[com.inductiveautomation.perspective.gateway.script.PropertyTreeScriptWrapper.ObjectWrapper](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.1/com/inductiveautomation/perspective/gateway/script/PropertyTreeScriptWrapper.ObjectWrapper.html). Thus deepcopy chokes when it runs into an object that it doesn’t know how to handle. If you need a true deepcopy, then you have couple of options. Write a function which recursively loops through the structure and correctl…

---

_[View the full topic](https://forum.inductiveautomation.com/t/how-do-you-copy-custom-property-without-referencing-it/110519)._
