# Ignition 8.3 Module Sub Namespace & Autocomplete

**URL:** <https://forum.inductiveautomation.com/t/ignition-8-3-module-sub-namespace-autocomplete/112940>\
**Category:** Module Development\
**Tags:** ignition83\
**Created:** [December 21, 2025, 10:56pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-module-sub-namespace-autocomplete/112940 "2025-12-21T22:56:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![stephen.richardson](https://avatars.discourse-cdn.com/v4/letter/s/ecccb3/32.png) [@stephen.richardson](https://forum.inductiveautomation.com/u/stephen.richardson)\
**Post date:** [December 21, 2025, 10:56pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-module-sub-namespace-autocomplete/112940/1 "2025-12-21T22:56:33Z")

</div>

I have created a module and installed it in Ignition 8.3. Everything is working fine except everything in my parent namespace appears in autocomplete in designer but everything in a sub namespace does not. The code works and executes fine in both cases. For example:

Script module path = "system.abc”

- system.abc.divide() appears in autocomplete and executes without errors
- system.abc.def appears in autocomplete
- system.abc.def.divide() does not appear in autocomplete but does execute without errors

Should autocomplete be able to detect and show system.abc.def.divide()? Is there a working example or doc I can follow or perhaps I’m missing something really simple?

Thanks!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 21, 2025, 11:30pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-module-sub-namespace-autocomplete/112940/2 "2025-12-21T23:30:33Z")

</div>

Not sure, but I've never seen any autocomplete at the 4th level.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [January 21, 2026, 11:22pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-module-sub-namespace-autocomplete/112940/3 "2026-01-21T23:22:18Z")

</div>

Late, but this definitely works; see `system.perspective.workstation` functions:

> **[system.perspective.workstation | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-perspective/system-perspective-workstation)**
>
> Perspective Workstation Functions

These are mounted by Perspective in pretty much the way you'd expect, so I'm not sure what might be going wrong in your case.

```python
  @Override
  public void initializeScriptManager(ScriptManager manager) {
    PropertiesFileDocProvider docProvider = new PropertiesFileDocProvider();
    manager.addScriptModule("system.perspective", scriptFunctions, docProvider);
    manager.addScriptModule("system.perspective.workstation", workstationScriptingFunctions, docProvider);
  }

```

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [January 22, 2026, 4:03am UTC](https://forum.inductiveautomation.com/t/ignition-8-3-module-sub-namespace-autocomplete/112940/4 "2026-01-22T04:03:51Z")

</div>

Both Embr-Thermo and Embr-SNMP have 4th level autocomplete with no issues.

> <https://github.com/mussonindustrial/embr/blob/8.1/main/modules/thermo/client/src/main/kotlin/com/mussonindustrial/embr/thermo/ThermoClientHook.kt#L27C5-L33C6>

> <https://github.com/mussonindustrial/embr/blob/8.1/main/modules/thermo/common/src/main/kotlin/com/mussonindustrial/embr/thermo/scripting/IF97ScriptModuleImpl.kt>
