https://docs.unity3d.com/jp/530/Manual/Prefabs.html
While it is easy to build a scene with individual game objects to which you have added components with appropriate values, there are problems when you have objects such as NPCs, props, or background parts that are used repeatedly in a scene. Simply copying and duplicating objects will cause all of their properties to become independent. In general, you will want to align the properties of all instances of a particular object, so when you edit an object in the scene, you will want to apply that edit to all copies.
Fortunately, Unity has a Prefab asset type that stores all components and properties of a GameObject object. Prefabs can be used as templates to create new object instances in the scene. Any edits made to a prefab asset are immediately reflected in all instances created, but you can override or configure components for each instance separately.
Note: Dragging an asset file (e.g., a mesh) into the scene creates a new object instance, all instances of which will be modified when the original asset is modified. The behavior is superficially similar, but since the asset is not prefabricated, you will not be able to add components to it or take advantage of other prefabricated features discussed below.
This page is auto-translated from /nishio/プレハブ using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I’m very happy to spread my thought to non-Japanese readers.