Вы можете установить этот объект как дочерний элемент игрока
GameObject childPlacehoderObj; // Set this to the child you want to give a home
GameObject playerObj; // This will be the parent
childPlacehoderObj.transform.parent = playerObj.transform;
Теперь ребенок будет двигаться вместе с родителем.
Обновление: объект появляется в произвольной позиции, затем я заставил его двигаться к игроку
Тогда вы можете создать пустой объект, который будет конечной позицией этого объекта. И этот пустой объект вы делаете из него ребенком игрока.
Тогда то, что вы делаете, это заставляете объект, которого он породил, перемещать в положение этого пустого объекта. Вы можете добавить что-то вроде this в объект, который должен быть перед игроком
void Update()
{
// Move our position a step closer to the target.
float step = speed * Time.deltaTime; // calculate distance to move
transform.position = Vector3.MoveTowards(transform.position, childPlacehoderObj.position, step);
}
Наконец, когда объект достигает целевой точки, вы можете сделать его дочерним по отношению к игроку.