Perspective Custom Icons

I'm on a dockerized Ignition 8.3.6. I'm trying to add a custom icons library following help and forum topics, but nothing works: ignition and material are the only libraries that show up.

If I execute a bash in the docker Ignition container I cannot find the folder

/usr/local/bin/ignition/data/modules/com.inductiveautomation.perspective/icons/

as suggested by the help, I find instead

/usr/local/bin/ignition/data/modules/com.inductiveautomation.perspective/.migrated-icons-20260607-214/icons

where material.svg and ignition.svg are stored - note that I restored a 8.1 gateway exactly on 2026-06-07, hence maybe the folder name.

I tried to add a myicons.svg file, where I pasted the Custom Icon Repository Example from the help, but myicons does not show up for a button icon (designer restarted, gateway restarted, no matter)

I tried to mkdir the icons folder in the /usr/local/bin/ignition/data/modules/com.inductiveautomation.perspective folder and copied there my file, no success.

I double checked user/group/other permissions of the library files: all are set to ignition

Any help?

Thanks in advance, regards

The location and structure of Perspective asset files changed a bit in the overhaul of the configuration management system we did in 8.3 (so that everything shares the same patterns and can be managed the same way).

The new path is described here - make sure if you're referencing the documentation you're using the correct version of the docs:

Standalone Perspective Icon Library Manager.zip (15.5 KB)

I got Claude to write me a Perspective icon library manager to make icon management simple directly within the Designer; no admin rights or remote server access required! (admin rights provided by the service account that the Ignition service runs under)

  • it adds an icon into the Project Browser toolbar to launch it
  • you can drag SVGs into the Icons panel on the right
  • it uses a gateway message handler (included in the project export) which does the file scan and saving of Icon libraries directly on the gateway.

"Install" the icon in the toolbar using:

dev.tools.standalone.iconLibraryManager.install()

If you have Vision installed (including in expired trial mode), you can have it install on Designer launch with a Vision Client expression tag with the expression:

now(0) # fire once on launch

Tag Events -> Value Change:

dev.tools.standalone.iconLibraryManager.install()

(thanks go to @justinedwards.jle for this cool trick!)

I suggest you try this in a local system first and test it. The code is written for v8.3+

PS. I'm ready to cop flak for using AI for this :sweat_smile: But this would have taken me a lot more coffee and time than I have available to write myself! Considering my Java is flakey at best

PPS. Also, if anyone knows how to add a new toolbar panel into the top main UI toolbar area (instead of the Project Browser which I'm using atm), I'm all ears!

I generated something fairly similar (using AI), with a modular approach, to manage my icon libraries.

If it can inspire anyone, feel free to take a look. https://youtu.be/BLcZl-pZKgw

In my opinion this is one of the perfect use cases for AI.
You have a well-bounded problem, where you know the input and output shape you care about, but don't particularly care about how the sausage is made internally. You can use the non-deterministic machine to come up with a deterministic output you can then iterate over.

You need to get an instance of IgnitionDesigner and then call the getDockableBarManager() method to get a DockableBarManager; see also https://www.jidesoft.com/products/JIDE_Action_Framework_Developer_Guide.pdf