# Has system.opc.browse been deprecated?

**URL:** <https://forum.inductiveautomation.com/t/has-system-opc-browse-been-deprecated/102295>\
**Category:** Ignition\
**Created:** [February 13, 2025, 6:36am UTC](https://forum.inductiveautomation.com/t/has-system-opc-browse-been-deprecated/102295 "2025-02-13T06:36:24Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ahmed\_Alsaadi](https://avatars.discourse-cdn.com/v4/letter/a/6a8cbe/32.png) [@Ahmed\_Alsaadi](https://forum.inductiveautomation.com/u/Ahmed_Alsaadi)\
**Post date:** [February 13, 2025, 6:36am UTC](https://forum.inductiveautomation.com/t/has-system-opc-browse-been-deprecated/102295/1 "2025-02-13T06:36:24Z")

</div>

Hi all,

I'm trying to create UDT instances using a script which directly browses our OPC server and adds them as needed, but I've noticed that `system.opc.browse` doesn't come up in the available functions list, and gives an error when I try to use it.

The documentation doesn't say anything about it being deprecated, so I'm a bit confused. I can use a recursive `server.opc.browseServer` call but it's much more complicated and not as elegant as the seemingly deprecated option.

> **[system.opc.browse | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-opc/system-opc-browse)**
>
> Allows browsing of the OPC servers in the runtime, returning a list of tags.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/f/0fc165105fd5e1a19517878c7b709c6f5df071b6.png)

This is on an Ignition Edge Gateway instance version **8.1.44**

Thank you

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 13, 2025, 2:18pm UTC](https://forum.inductiveautomation.com/t/has-system-opc-browse-been-deprecated/102295/2 "2025-02-13T14:18:08Z")

</div>

Yes, it's deprecated.

The unbounded recursion performed by `system.opc.browse` caused performance issues and timeouts in many real world usages.

`browseServer` forces you to acknowledge the recursive nature and make separate calls at each level, which means separate RPC calls to the gateway when done from a Client or Designer, which means you don't run up against the hardcoded RPC call timeout.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 13, 2025, 2:20pm UTC](https://forum.inductiveautomation.com/t/has-system-opc-browse-been-deprecated/102295/3 "2025-02-13T14:20:32Z")

</div>

> [@Ahmed\_Alsaadi](#):
>
> and gives an error when I try to use it.

What error do you get and where are you trying to call it from?

It might be hidden from scripting autocomplete but it should still exist...

Are you trying to call this from a Client or Designer on a Gateway where you don't have the Vision module installed?

---

<div class="post-metadata">

**Author:** ![Ahmed\_Alsaadi](https://avatars.discourse-cdn.com/v4/letter/a/6a8cbe/32.png) [@Ahmed\_Alsaadi](https://forum.inductiveautomation.com/u/Ahmed_Alsaadi)\
**Post date:** [February 14, 2025, 5:15am UTC](https://forum.inductiveautomation.com/t/has-system-opc-browse-been-deprecated/102295/4 "2025-02-14T05:15:03Z")

</div>

I'm using the Ignition Edge Designer Script Console, and the error is

`AttributeError: 'com.inductiveautomation.ignition.designer.gui.tool' object has no attribute 'browse'`
