Pinning an entity attribute is a way to override the sync from design module. If you switch to one of your engine tabs in the OneGen desktop app and select an entity in your project, you'll notice small pin icons attached to various entity attributes.
For example, you could pin whether an entity is enabled. But what does it really mean to pin an attribute?
If an attribute is pinned, it overrides the design and no longer synces by the design module. In other words, if you disable an entity in an engine, it will always be skipped at code generation of this engine.
Without the pinning functionality, if you did any change to an existing entity outside the design module, it would get overwritten as soon as someone updated the same entity in the design module.
Just change the attribute
The pin icons are displayed mainly to tell you whether the given attribute is currently pinned, but you should not need to manually click on them. The UI should automatically switch the pin when you change and attribute in an engine.
For instance, try changing an Enum's data type in an engine. You should see the pin icon turn filled from outlined.
Despite the automatic change detection, you may pin/unpin any attribute manually by clicking on the pin icon.