I have a related question, as I found this to be the case some time ago and I started adding a field in my schematic symbol instances (a name it ‘FUNCTION’). Is there a way to get this field to come over to the PCB so that I can show it on the silkscreen? I’m currently manually adding it again on the PCB. This takes time, is error prone, and doesn’t update if I update the schematic.
In this case it’s really necessary to know the used kicad version (v6/v7/v8/v9 ?).
With v9 (and maybe v8, but not with older versions. That’s why I asked for the version) the simple usage of custom fields on the symbol (in the schematic) is enough. These custom fields (and the content of these fields) are automatically transferred to the pcb with “Update pcb from schematic”.
Afterwards it’s necessary to set these custom fields as “visible” in the pcb editor, assign the wanted layer (in the case of the OP: silkscreen) and place the field at the wanted position.
Additional note: if the OP (or any other user) uses this workflow: Don’t change the custom field on the footprint (pcb editor). This change will be overruled on every subsequent “Update pcb from schematic” command.
For the usecase of the OP it’s not necessary to work with text variables, albeit that also could work.