I am thinking of creating a number of 3D objects/models which will have a particular object/model in all of them, for example a building which I will use in many other projects with different additions to it and so if I need to make a modification to the building (which is in many other projects) it will automatically flow through to all the other projects which will have that building in them (hope I have explained enough) rather than have to edit all the projects for a change to the building. Is that possible and if so what is the procedure? I know that blender files can be appended and .fbx etc imported but not sure if it is possible what I have in mind.
If you go to File > Link (directly above Append), then you can also choose a file where the object to be linked is contained, find the Object directory and select the object, then click the Link button.
Now what might seem strange, different from Append where you get a full, independent copy of the object, the linked object cannot be moved, rotated or scaled. It stays where and as it is in the original file.
So, in order to place and rotate this object in the new scene where you want it, you have to press Shift+D to make a duplicate. This you can move, rotate, scale as you need it. But you cannot edit the mesh, change the materials etc., this has to be done in the original file.
Usually you use Alt+D for Duplicate Linked, if you want to keep duplicates linked to the original object, but that's only necessary if they are all in the same file. If you make duplicates of linked external objects, you can use the "normal" duplicate function.
Since the directly linked objects cannot be moved and not even be toggled invisible, it's best to have them in a separate collection that you can Hide in Viewport (the "eye" symbol) or Exclude from Visible Layer (the checkbox).
To achieve that you either put them in a new collection in the scene where you use them after importing them, or by disabling Active Collection in the Link dialogue options which creates a new collection for them. Or you can put the original objects in their own collection in the original file and import the collection rather than single objects. But to use those objects separately, you have to disable Instance Collection in the Link dialogue options.
EDIT: thanks to @moonboots, there is a function I wasn't aware of. Instead of hiding the linked object and duplicating it to have a moveable copy, you can simply select the linked object and choose Object > Relations > Make Proxy. This way you can move the linked object in the new scene without having to duplicate it.