게임 오브젝트를 Instantiate 하면 아래 사진과 같이 오브젝트 이름에 (Clone)이 붙게된다.
(Clone)을 제거해보자.
(Clone)이라는 텍스트의 인덱스를 찾아 저장한다.
0부터 (Clone)의 전 인덱스까지를 잘라 이름에 다시 저장한다.
public GameObject Instantiate(string path, Transform parent = null)
{
GameObject prefab = Load<GameObject>($"Prefabs/{path}");
if (prefab == null)
{
Debug.Log($"Failed to load prefab : {path}");
return null;
}
GameObject go = Object.Instantiate(prefab, parent);
int index = go.name.IndexOf("(Clone)");
if (index > 0)
go.name = go.name.Substring(0, index);
return go;
}
깔끔하게 생성이 된 것을 볼 수 있다.