# Attribute Value not updated

**URL:** <https://librepcb.discourse.group/t/attribute-value-not-updated/965>\
**Category:** Help\
**Created:** [October 23, 2025, 10:18pm UTC](https://librepcb.discourse.group/t/attribute-value-not-updated/965 "2025-10-23T22:18:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![giancarlo64](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/giancarlo64/32/296_2.png) [@giancarlo64](https://librepcb.discourse.group/u/giancarlo64)\
**Post date:** [October 23, 2025, 10:18pm UTC](https://librepcb.discourse.group/t/attribute-value-not-updated/965/1 "2025-10-23T22:18:27Z")

</div>

Hi,

I have modified the attribute VALUE of a component but when in the SCH I do Project → update project library, the attribute keep the same old value. How to update it without delete and load a again the same component?

Gian Carlo

---

<div class="post-metadata">

**Author:** ![ubruhin](https://avatars.discourse-cdn.com/v4/letter/u/c89c15/32.png) [@ubruhin](https://librepcb.discourse.group/u/ubruhin)\
**Post date:** [October 23, 2025, 11:00pm UTC](https://librepcb.discourse.group/t/attribute-value-not-updated/965/2 "2025-10-23T23:00:02Z")

</div>

Hi,

Just double-click on the symbol in the schematic and change its value accordingly. This value is not overwritten by “update project library” because you would loose any previously manually specified value. Therefore the VALUE specified in the library only applies to components newly added to a schematic.

---

<div class="post-metadata">

**Author:** ![ubruhin](https://avatars.discourse-cdn.com/v4/letter/u/c89c15/32.png) [@ubruhin](https://librepcb.discourse.group/u/ubruhin)\
**Post date:** [October 23, 2025, 11:03pm UTC](https://librepcb.discourse.group/t/attribute-value-not-updated/965/3 "2025-10-23T23:03:06Z")

</div>

And btw, I hope you did not add an attribute named “VALUE” to your component? This is not the way it is done, see [Missing VALUE in schematic sourced BOM - #2 by ubruhin](https://librepcb.discourse.group/t/missing-value-in-schematic-sourced-bom/875/2)

Only the “Default Value” field of component should be filled, not an attribute named “VALUE”.

---

<div class="post-metadata">

**Author:** ![giancarlo64](https://yyz2.discourse-cdn.com/free1/user_avatar/librepcb.discourse.group/giancarlo64/32/296_2.png) [@giancarlo64](https://librepcb.discourse.group/u/giancarlo64)\
**Post date:** [October 24, 2025, 5:15pm UTC](https://librepcb.discourse.group/t/attribute-value-not-updated/965/4 "2025-10-24T17:15:43Z")

</div>

Hi ubruhin,  
it seems that the **VALUE** attribute is always used by default, but I find it strange that it doesn’t get updated, since this value belongs to the component. I can understand this behavior for **resistors** , where the value can change, but in that case the **MPN** should also be updated.  
For me, every component is **unique** — if I need 100 different resistor values, I have 100 different components; otherwise, I couldn’t distinguish their MPNs.  
I treat two resistors from the same family but with different values as **separate components**.  
It would be great to have **a single component** and choose the resistance value when placing it in the schematic, with the **MPN automatically assigned** according to the chosen value.  
I’m not sure if this is possible in **LibrePCB** , but it would be a **very useful feature** to manage resistor or capacitor series with one component and MPNs linked to their values.

---

<div class="post-metadata">

**Author:** ![ubruhin](https://avatars.discourse-cdn.com/v4/letter/u/c89c15/32.png) [@ubruhin](https://librepcb.discourse.group/u/ubruhin)\
**Post date:** [October 24, 2025, 6:33pm UTC](https://librepcb.discourse.group/t/attribute-value-not-updated/965/5 "2025-10-24T18:33:06Z")

</div>

> [@giancarlo64](#):
>
> It would be great to have **a single component** and choose the resistance value when placing it in the schematic, with the **MPN automatically assigned** according to the chosen value.

Exactly this is the way LibrePCB works. You have exactly one resistor component in the libraries (it’s called “Resistor” in our official libraries). Then you create one device for a whole resistor family. Within that device, you add every MPN with its corresponding RESISTANCE value. IIRC currently we only have generic resistor devices in our libraries (no MPN, no RESISTANCE) but you can easily create a device for yourself. Here’s an example of a capacitor device:

 ![image](https://global.discourse-cdn.com/free1/uploads/librepcb1/original/1X/39f8310af3cfa11b36533edafc7cbef5faa7045c.png)

You can do exactly the same for resistors. When adding such a capacitor to the schematic, you can choose the exact MPN:

 ![image](https://global.discourse-cdn.com/free1/uploads/librepcb1/original/1X/5235ec57500814d1b9a979163214bf7443ce77a5.png)

When you add any of those to the schematic, its value (CAPACITANCE in this case) is automatically filled, you don’t need to do anything manually:

 ![image](https://global.discourse-cdn.com/free1/uploads/librepcb1/original/1X/8601480c4fe6c261d754518739cb21b642729b82.png)

The “update project library” does not change anything for this component in the schematic since the chosen MPN and CAPACITANCE are copied into the schematic when you add the component.

More information about the usage of those so-called “parts” is documented [here](https://librepcb.org/docs/user-manual/project-editor/assembly-data/).

Does that clarify things?
