void InstanceButtons() { foreach (Transform child in transform) { if (child.CompareTag("Answer Button")) { ButtonAnswer buttonAnswer = child.GetComponent <ButtonAnswer>(); if (buttonAnswer) { buttons.Remove(buttonAnswer); } Destroy(child.gameObject); } } // Instance Buttons in its correct position float offsetX = -((answersSeparation * ((float)GameManager.instance.maxAnswers - 1f)) * 0.5f); Vector2 position = new Vector2(offsetX, 0); for (int i = 0; i < GameManager.instance.maxAnswers; ++i) { // Instantiate Button Back GameObject buttonBack = Instantiate(buttonBackPrefab, transform); buttonBack.GetComponent <RectTransform>().anchoredPosition = position; // Instantiate Button ButtonAnswer button = Instantiate(buttonPrefab, transform).GetComponent <ButtonAnswer>(); button.answersPanel = this; button.GetComponent <RectTransform>().anchoredPosition = position; button.ChangeText(GameManager.instance.answersList[i].ToString()); buttons.Add(button); position.x += answersSeparation; if (i == GameManager.instance.correctAnswerIndex) { correctButton = button; } } }