PF_PUI_INVISIBLE on PF_Param_GROUP_START topics breaks on Effect Controls Panel rebuild (Premiere Pro 2026) — same as 2018 thread, still unresolved?
Hi all,
I'm hitting the exact same wall described in this 2018 thread:
https://community.adobe.com/t5/premiere-pro-discussions/conditionally-hiding-topic-params-in-the-ecp/m-p/10486726
I'm building a native effect plugin (PF, AE-style, loaded by Premiere via the SDK) that needs to expose a variable number of "event" sub-groups in the Effect Controls Panel — up to 100 topic groups in the worst case. The standard idiom is to declare all 100 GROUP_START/GROUP_END pairs at PARAMS_SETUP time with PF_PUI_INVISIBLE, then progressively reveal them as the user creates events by clearing the flag via PF_UpdateParamUI() during PF_Cmd_UPDATE_PARAMS_UI.
Initial state works fine — only the active groups are visible.
The bug: as soon as the user clicks away from the clip in the timeline (loses focus on the effect) and clicks back, **all 100 hidden topic groups reappear in the Effect Controls Panel**. The runtime PF_PUI_INVISIBLE flag is silently dropped on panel rebuild. Re-applying via PF_UpdateParamUI in PF_Cmd_UPDATE_PARAMS_UI does not survive the rebuild either.
I've tried, in order, the workarounds suggested in the 2018 thread plus a few more:
1. PF_PUI_INVISIBLE on GROUP_START only.
2. PF_PUI_INVISIBLE on both GROUP_START and GROUP_END (paired).
3. PF_PUI_INVISIBLE on GROUP_START + GROUP_END + every embedded child param (sliders, popups, button).
4. Replacing PF_ADD_POPUPX with raw PF_ADD_PARAM to avoid the macro stripping the flag.
5. Forcing reconciliation via PF_UpdateParamUI on PF_Cmd_UPDATE_PARAMS_UI on every panel tick.
6. Intercepting PF_Event_NEW_CONTEXT, PF_Event_ACTIVATE, PF_Event_DEACTIVATE, PF_Event_CLOSE_CONTEXT in PF_Cmd_EVENT and re-running the visibility reconciliation there, with PF_OutFlag_REFRESH_UI | PF_OutFlag_SEND_UPDATE_PARAMS_UI.
None of these survive the panel rebuild. Same exact symptoms as the 2018 thread.
For non-topic param types (sliders, popups, etc.) PF_UpdateParamUI works fine in Premiere, both for value and ui_flags changes — the issue seems specific to GROUP_START.
I know AEGP_DynamicStreamSuite::SetDynamicStreamFlag with AEGP_DynStreamFlag_HIDDEN is the AE-recommended way to hide streams persistently, but the AEGP suite is not implemented in Premiere, so that route is closed for PPro plugins.
Questions:
- Is hiding GROUP_START topics dynamically still officially unsupported in Premiere as of 2026?
- Has anyone found a working approach since 2018? Any flag combination, undocumented out_flag, or different param structure that survives panel rebuild?
- If this is confirmed as not supported, what's the recommended pattern for plugins that need a variable-length list of editable sub-groups in the ECP? (Right now I'm planning to fall back to a fixed pool of N visible slots paginated via a "Page" param — would appreciate confirmation that this is the right path.)
Plugin specs: Premiere Pro 2026, AE SDK 25.6, macOS 13+, universal binary, plugin-side built from the Skeleton template, registered as MediaCore plug-in.
Thanks for any pointers.
