I love using (and contributing) to the official libraries when possible. However, they are missing 3D models for some components.
Is there an easy way to reference the 3D model that I download for that component, without hindering my ability to contribute/update?
Changing the core footprint’s information will then make my master drift from KiCad’s master for kicad-footprints.
Copying and naming the 3D model to the path referenced by the footprint (even when the file doesn’t exist, this is one of the conventions) would then make my kicad-3dpackages different then the main one.
For now, I am copying the component to a custom library and editing it for the 3D file in that location.
Use a copy of the official 3D library as the base for your own library. Load all 3rd party or your custom made 3D models to FreeCAD StepUp and use StepUp to export them as KiCad compatible step and wrl files. Rename the files following KiCad’s convention. Put them to your own 3D library, replacing the KiCad’s models if they exist.
The final (or the first) step: change KISYS3DMOD path variable to point to your own 3D library.
Now all KiCad’s official footprints use your own modified copy of the 3D library without changing anything in the footprint library. The original 3D library also stays the same. KISYS3DMOD takes care of pointing to the wanted 3D library - you can change it back at any time if you want to.
I take option 2 you outlined above, except I have my own branch in kicad-3dpackages checkout. It’s very easy to rebase if the only changes in your branch are new files.