Which GO is the new one when i Duplicate a GO

When i Duplicate a GO it makes a copy with exactly the same name… if i have references to that original object in my project and then edit the wrong one i mess things up.

Why does it not make a new name with _copy or something? How can i tell what is the new one?


When you duplicate an object, the one that’s currently selected immediately after duplication is the new one. This is reasonably standard behavior, but the lack of any name differentiation can indeed be confusing.

Note that you can make your own duplicate command with different behavior…here’s a quick & dirty Dupe command script, that duplicates a GameObject and adds “copy” to the end:

@MenuItem ("Edit/Dupe %#d")
static function Dupe () {
    var go = Selection.activeObject as GameObject;
	var dupeGo = Instantiate(go);
	dupeGo.name = go.name + " copy";

@MenuItem ("Edit/Dupe %#d", true)
static function Validate () {
	return Selection.activeObject != null;

Feel free to improve it, such as adding undo, and making multiple copies be appended with “copy 2”, “copy 3”, etc.