Include an option or refactor the existing parameter naming to be unique per component not per design.
Inserting components that are then set to unreferenced (i.e. break link) should not have its parameter names auto-changed to be globally unique if a parameter of the same name exists anywhere else in the design. Duplicated user parameters could be avoided by prefixing or postfixing the component name with an unused character (e.g. "FooComp:BarParam", "BarParam@FooComp", etc).
At a minimum...
- For users, some dialog should be displayed listing those parameters that should be renamed.
- For programmers, an API should be included to handle the event thrown before the auto-naming action to give the programmer the ability to rename the parameter to something more usable. Frankly, if we had this event then it would be trivial to create an auto-naming add-in to implement a naming scheme like that shown above - e.g. "FooComp$BarParam" could currently be created via a "Before_Occurrences_addByInsert" event since the "$" is an allowed character in a parameter name.
The current process of Fusion automatically appending a numeric index (e.g. "_1") to duplicated parameter names results in a confusing set of parameters that quickly become meaningless and impractical to reference in assemblies with a significant number of parameterized components.
The current parameter UI is an improvement over the Inventor parameter UI in that all the parameters for all components (assuming they are not referenced comps) are grouped per component. That organization is helpful. However, the lack of being able to use the component name to reference parameters limits the complexity that can be effectively managed with Fusion. A list of "Width", "Width_1", Width_2", ... "Width_N" parameter names quickly becomes difficult to manage and comprehend... especially when you are trying to communicate design intent to others in your team...