Due to the way Blender uses instancing to generate and manage data the preferred way to make copies of something is to use Duplicate rather than Copy and Paste, that is Duplicate Objects, Duplicate Linked and Duplicate [option] depending on the context and availability.
Design note: although Copy/Paste is broadly honoured in Blender 2.8+ its behaviour differs slightly relative to Duplicate Objects. It’s also not available in all contexts.
For all intents and purposes Duplicate Objects is Blenders Copy/Paste equivalent. Using this selections are duplicated as independent objects from their originating parent, but may including (for mesh objects in particular) instanced references to material assignments, modifiers, UV maps and other assignable properties. Where available to use Duplicate, make a selection then from the primary menu for the editor or editing context being used, e.g. Object in Object Mode (3D View), click Duplicate Objects – Object » Duplicate Objects. Alternatively use the Shift + D shortcut. A set of objects will appear moving with the mouse (and typically offset for visibility). Right-click or press Esc to reset the new selection to its originating location (coincidental to the parent from which it was duplicated).
Design note: the context menu where Duplicate Objects can be found differs depending on the editor and/or active editing context, in the 3D View for example the menu is labeled Object in Object Mode, Key in the Action Editor, Marker in the Timeline and so on. The shortcut keys Shift + D activate the function regardless (ensure the mouse cursor is over the editor/area/view before initiating).
Duplicated objects appear outline-highlighted white and synced to the mouse, moving as it moves. To release and reset right-click or press Esc.
Duplicate Linked differs slightly from Duplicate Objects in that data generated this way is not entirely unique, its instanced so will typically retain references to any number of the parent objects properties such that changes to one propagate across to any others. In other words, while some aspects of a selection appear unique – object-based rotation, location and scaling for example, others are not – edit mode-based changes or modifications. Where available, to use Duplicate Linked, make a selection and from the primary menu for the active editor or editing context click Duplicate Linked – Object » Duplicate Linked. Alternatively press Alt + D. A set of objects or elements will appear synced with the mouse, right-click or press Esc to release and reset back to their originating locations.
Design note: as with Duplicate Objects the context menu for Duplicate Linked is context sensitive, its location differing depending on the active editor and/or editing context; in the 3D View for example the menu is labeled Object in Object Mode, Key in the Action Editor, Marker in the Timeline and so on. The shortcut keys Alt + D activate the function regardless however.
Using Duplicate Linked creates objects that are connected such that changes made to one member of a group immediately propagate to others – this can be useful in situations where a groups of objects may need to use the same materials but their location, rotation and scale should differ.
Depending on the editor or editing context the type of data carried over to a duplicate differs depending on the parent object or originating property or value referenced; duplicating keyframes for example typically includes the coordinates of an armature pose, their location, rotation, scale (or other) data; duplicating a mesh might include material references, UV maps and vertex groups and so on. In all cases duplication will increase the User counts for the respective properties – duplicating an object three times would similarly increase the number of Users referencing the same material (by 3).
Design note: making data unique or single user depends on the editor, editing context and type of data being changed, the name or label attributed to an Action sequence versus data held in keyframes for example.
To change this, so each duplicate uses its own material for example, linked objects first need to be made ‘unique’ using Make Single User. To do this select the object or element in question and select Object » Relations » Make Single User » [option]. Once an object has been made Single User, properties carried over can be made similarly unique by clicking the respective option, in Object Data Properties for example, clicking the Display number of users for this data button to make an object unique so it can be modified without affecting others.
Design note: duplicated data is identified by the presence of a numerical append, for example ‘mesh.001’, ‘mesh.002’, ‘mesh.003’ etc. where the original was just ‘mesh’ – the name or label carries over to objects or properties made single user.
Shown in Object Data Properties to the right of the Name input field, an ‘instanced’ object increases the ‘User’ count for the underlying (original) datablock, now ‘2’, indicating how many objects reference that same data.
Duplicated objects/data tends to include instanced references to other types of data that increase the ‘User’ count for those datablocks. To reduce this use Make Single User to convert everything to being unique.
Once an object has been made unique associated properties can be similarly made single users (on linked objects this would change the ‘property’ on all instances still in the group), in Material Properties clicking Display number of users of this data (to the right of the name input field) creates a unique instance of the duplicated material so it can then be changed independently of its originating parent.