Can someone tell me why this isn't working and how to fix it?

I want to export the entire scene so I can make a rendered image in Blender.

A friend said I’d need to export each part of the scene separately to make it work, however, when I go to export the models, it doesn’t work. Blender opens, (when I click on the exported model/fbx) but I can’t edit the model before it (blender) closes/crashes.

Can someone tell me what the issue is, and how I can fix it?

I only know the very basics of how Unity works, but I’m willing to learn!
I have no idea what these mean or how to fix them. I’m not even sure what to look up to fix them. The version is Unity-2019-4-LTS.39f1.

error

The errors in order are:

[00:08:30] Not allowed to access triangles/indices on mesh ‘LowerLevel’ (isReadable is false; Read/Write must be enabled in import settings) UnityEngine.GUIUtility:ProcessEvent (int,intpr)

[00:08:30] Not allowed to access vertices on mesh ‘LowerLevel’ (isReadable is false;Read/Write must be enabled in import settings) UnityEngine.GUIUtility:ProcessEvent (int,intptr)

[00:08:30] IndexOutOfRangeException: Index was outside the bounds of the array. UnityEditor.Formats.Fbx.Exporter.ModelExporter.ExportMesh (UnityEditor.Formats.Fbx.Exporter.ModelExporter+MeshInfo meshinfo, Autodesk.Fbx.FbxNode fbxnode) (at Library/PackageCache/com.unity.formats.fbx@4.21/Editor/FbxExporter.cs:839)

When you want to access / read the actual mesh information, the imported meshes need to be marked as “read/writeable”. This has to be done for each imported mesh you use. Note that when an imported mesh is marked as read/writeable it means the memory overhead will increase as the vertex and triangle information is stored twice, in normal CPU memory and in GPU memory. When a mesh is not readable, Unity would not keep the data in CPU memory as it’s only required in the GPU for rendering.

I honestly didn’t read it all (sorry, am busy), but I had a similar problem with is readable. Like others have mentioned, this basically means that the mesh has a bool declared as false by default.

Just create a folder named "Editor", put a script inside:

[MenuItem("Custom/Process All Meshes")]
static void ProcessAllMeshes()
{
    string folderPath = "Assets/Blender"; //adjust accordingly

    string[] guids = AssetDatabase.FindAssets("t:Mesh", new[] { folderPath });

    foreach (string guid in guids)
    {
        string assetPath = AssetDatabase.GUIDToAssetPath(guid);

        Mesh mesh = AssetDatabase.LoadAssetAtPath<Mesh>(assetPath);

        if (mesh != null)
        {
            ModelImporter modelImporter = AssetImporter.GetAtPath(assetPath) as ModelImporter;
            if (modelImporter != null)
            {
                modelImporter.isReadable = true; 
                AssetDatabase.ImportAsset(assetPath);
                Debug.Log("readable mesh: " + mesh.name);
            }
            else
            {
                Debug.LogError("Error, couldn't find modelImporter: " + mesh.name);
            }
        }
        else
        {
            Debug.LogError("Unable to load mesh on: " + assetPath);
        }
    }
    //It is important, then, to go to the Custom tab (above more or less in the middle) and select the option with the same name. Bascally, this is like executing this void in the editor, without needing to play 
    //Don´t forget to always do this every time you import something.
}

I dont know if it works but maybe export the models without any script.