private void Start()
    {
        // Fill GridItems using the imported scriptable object data
        GridItems = new List <GridItem>();
        foreach (ScriptableObject obj in GenerationManager.Instance.scriptableObjects)
        {
            GridItem gridItem = Instantiate(gridItemPrefab, gridItemRoot.transform).GetComponent <GridItem>();
            gridItem.InitializeItem(obj as SliderDataCustomizer);
            GridItems.Add(gridItem);
        }

        // Retrieve all customizer sliders in the UI
        CustomizerSliders = new List <SliderObject>();
        foreach (Transform child in customizerEntryRoot.transform)
        {
            SliderObject customizerSlider = child.GetComponent <SliderObject>();
            if (customizerSlider != null)
            {
                CustomizerSliders.Add(customizerSlider);
            }
        }

        // Prepare the Perlin layer previewer
        perlinTexture = new Texture2D(
            (int)perlinPreviewImage.rectTransform.sizeDelta.x,
            (int)perlinPreviewImage.rectTransform.sizeDelta.y);
        perlinPreviewImage.texture = perlinTexture;

        // Select the first item for customization
        if (GridItems.Count > 0)
        {
            GridItems[0].SelectItem();
        }
    }