Skip to main content
cik_yee_9306
Participant
June 19, 2026
Question

[UXP-API] How can I get a stable unique ID for a Premiere Pro UXP FolderItem/bin, since after FolderItem.cast() I only see name, type, getItems(), etc., but no id, guid, nodeId, ObjectUID, or metadata API?

  • June 19, 2026
  • 1 reply
  • 0 views

Hi Adobe team,

I’m building a Premiere Pro UXP panel that needs to synchronize the project bin hierarchy with an external system.

I can traverse the project tree successfully using:

const ppro = require("premierepro"); const project = await ppro.Project.getActiveProject(); const rootItem = await project.getRootItem(); async function walk(item) { const folderItem = ppro.FolderItem.cast(item); if (folderItem) { console.log(folderItem.name, folderItem.type); const children = await folderItem.getItems(); for (const child of children) { await walk(child); } } } await walk(rootItem);

However, after casting a ProjectItem to FolderItem, I cannot find any stable identifier for the bin.

For example, inspecting a FolderItem only shows fields/methods like:

name type getItems() getProject() getColorLabelIndex() createBinAction() createMoveItemAction() createRemoveItemAction() createRenameBinAction() createSetColorLabelAction() createSetNameAction() createSmartBinAction()

I do not see anything like:

id guid nodeId ObjectUID ObjectURef getId() getGuid() getProjectMetadata() getXMPMetadata()

In ExtendScript, ProjectItem appears to expose nodeId, and in the saved .prproj XML there are ObjectUID / ObjectURef values. But I cannot find an equivalent stable bin identifier in UXP.

My questions are:

  1. Is there any supported way in UXP to get a stable unique ID for a FolderItem / bin?
  2. If not, what is Adobe’s recommended approach for synchronizing a Premiere project bin hierarchy with an external system?
  3. Are ObjectUID, ObjectURef, or ExtendScript ProjectItem.nodeId expected to be exposed in UXP in the future?
  4. Is using indexPath / tree position plus bin name the only current UXP workaround?

The goal is to detect renamed, moved, created, and deleted bins reliably across saves/reopens, without treating every changed path as a brand-new bin.

Thanks.

    1 reply

    henry45cavil
    Participant
    June 19, 2026

    Hello,
     

    Since relying strictly on indexPath or names fails when users move or rename bins, the most robust workaround is Metadata Tagging. You can write a custom, unique ID (like a UUID) directly into the project item's metadata or XMP using UXP's metadata APIs (or via an ExtendScript bridge call if UXP's metadata access on pure FolderItems is restricted in your current build). Once injected, this ID stays with the bin across saves, reopens, renames, and moves. 
     

    Best Regards
    metlifedentalprovider