How to save a prefab in a ScriptableObject to use it in the future

I’m developing an EditorWindow that dynamically creates scenes and saves them in the asset folder and add it to the list, this part of the save works perfectly including saving the name of the scenes in this ScriptableObject file. The problem is when I try to save instantiated prefabs(gameobjects) to use more, I manage to allocate the gameobjects in the list it displays the correct number of elements that I created, but the reference to these gameobjects are lost: The script I have so far is this one:

This part creates a grid needed by the project and instantiates the prefabs

private void CreateGrid(GameObject objectInstance, GameObject parentObject) {
        int sceneNum = 0;
        for (int x = 0; x < tilesXAxis.value; x++) {
            for (int z = 0; z < tilesZAxis.value; z++, sceneNum++) {
                float rengeXMove = parentObject.transform.position.x + x * (gridTotalWidth.value / tilesXAxis.value);
                float rengeZMove = parentObject.transform.position.z + z * (gridTotalLength.value / tilesZAxis.value);

                GameObject _obj = PrefabUtility.InstantiatePrefab(objectInstance, parentObject.transform) as GameObject;
                TilesManager _tileCurrent = _obj.GetComponent<TilesManager>();
                string _sceneName = CreateScenes((x).ToString() + "_" + z.ToString());

                _tileCurrent.sceneName = _sceneName;
                _obj.transform.position = new Vector3(rengeXMove, 0, rengeZMove);

                //gridData.sceneGridObjects.Add(_obj);
                //gridData.landsScenesNames.Add(_sceneName);
                AddElementsAtList(_sceneName, _obj, _tileCurrent);
                //gridData.sceneGridBlocksTiles.Add(_tileCurrent);
            }
        }

    }

This part is responsible for adding elements to the ScriptableObject list, this part is complicated to understand how to save gameobjects

// Add elements to list :::Add Element At List
    void AddElementsAtList(string _addSceneNames, GameObject _addSceneGrid, TilesManager _addSceneGridBlocks) { // ScenesNames

        serializedString_LandsScenesNames.InsertArrayElementAtIndex(serializedString_LandsScenesNames.arraySize);
        //serializedObj_TerrainPrefab.InsertArrayElementAtIndex(serializedObj_TerrainPrefab.arraySize);
        serializedObj_SceneGridObject.InsertArrayElementAtIndex(serializedObj_SceneGridObject.arraySize);
        serializedTiles_SceneGridBlocksTiles.InsertArrayElementAtIndex(serializedTiles_SceneGridBlocksTiles.arraySize);

        SerializedProperty addSceneNames = serializedString_LandsScenesNames.GetArrayElementAtIndex(serializedString_LandsScenesNames.arraySize - 1);
        //SerializedProperty addTerrainPrefab = serializedObj_TerrainPrefab.GetArrayElementAtIndex(serializedObj_TerrainPrefab.arraySize - 1);
        SerializedProperty addScenesGrid = serializedObj_SceneGridObject.GetArrayElementAtIndex(serializedObj_SceneGridObject.arraySize - 1);
        SerializedProperty addSceneGridBlocks = serializedTiles_SceneGridBlocksTiles.GetArrayElementAtIndex(serializedTiles_SceneGridBlocksTiles.arraySize - 1);

        addSceneNames.stringValue = _addSceneNames;
        //addTerrainPrefab.objectReferenceValue = _addTerrainPrefab;
        addScenesGrid.objectReferenceValue = _addSceneGrid as GameObject;
        addSceneGridBlocks.objectReferenceValue = _addSceneGridBlocks;

        serializedData_DataGrid.Update();
        serializedData_DataGrid.ApplyModifiedProperties();
    }

Congratulations for posting this from SO, and I’ll ask you the same question here… Did you read the thread here on it? or just post without searching.

Yes, I’ve been looking for references for this for about two days, but apparently it’s not something that has a lot of information. There are things I’ve tried that don’t work in this case.

Well the post I mentioned has answers… so, Im going to guess you havent searched and read it as it was the first hit - as its not a subject I have needed to do

Again I reiterate I’ve been looking for more than a day about some information like this: https://discussions.unity.com/t/objectreferencevalue-in-serializedproperty/114932/6, do not apply to the question of instantiating a gameobject via editor and saving it for future uses.
https://discussions.unity.com/t/904477
I even found about this old tutorial here on the forum: https://discussions.unity.com/t/488403 but in the case of the latter it has information on the features, and everything. However, in the other previous questions there are ways to save, but base elements like strings, int char… but I didn’t particularly find anything that gives me an idea of how to save instantiated gameobjects, necessarily via editorwindow