In UE5 development,how to get right vertex data on Shipping environment?

In UE5 development,I want to get vertex data from the UStaticMesh,These code works well on editor environment,I can get the right vertex data.But after packing,they can’t work properly on shipping environment.I tried many times,It always return some wrong data to me.someone konws how can i get right vertex data on shipping environment? Only IndexBuffer data is right on shipping environment.

TArray<FVector> Vertices;
TArray<int32> Triangles;
int32 LinkGreenFirstLOD = pLinkGreenMesh->GetRenderData()->GetCurrentFirstLODIdx(0);
const FStaticMeshLODResources &lodResLinkGreen = pLinkGreenMesh->GetLODForExport(LinkGreenFirstLOD);
int32 nNumIndexLG = lodResLinkGreen.IndexBuffer.IndexBufferRHI->GetSize() / lodResLinkGreen.IndexBuffer.IndexBufferRHI->GetStride();
Triangles.SetNum(nNumIndexLG);

if (lodResLinkGreen.VertexBuffers.PositionVertexBuffer.IsInitialized())
    {
        // Get Vertex buffer
        const FPositionVertexBuffer& PositionVertexBuffer = lodResLinkGreen.VertexBuffers.PositionVertexBuffer;

        // Get Vertex num
        nLGVertexCount = PositionVertexBuffer.GetNumVertices();
        nIndexSize += nLGVertexCount;
        //Get Vertex data
        TArray<FVector3f> arrLGVertex;
        arrLGVertex.SetNum(nLGVertexCount * PositionVertexBuffer.GetStride());

        FVector3f* LGVertex = (FVector3f*)RHILockBuffer(PositionVertexBuffer.VertexBufferRHI, 0, nLGVertexCount * PositionVertexBuffer.GetStride(), RLM_ReadOnly);
        FMemory::Memcpy(arrLGVertex.GetData(), (FVector3f*)PositionVertexBuffer.GetVertexData(), nLGVertexCount * PositionVertexBuffer.GetStride());
        for (int32 i = 0; i < nLGVertexCount; i++)
        {
            Vertices.Add(FVector(arrLGVertex[i].X, arrLGVertex[i].Y, arrLGVertex[i].Z));
        }
        RHIUnlockBuffer(PositionVertexBuffer.VertexBufferRHI);

        uint16* indices = (uint16*)RHILockBuffer(lodResLinkGreen.IndexBuffer.IndexBufferRHI, 0, lodResLinkGreen.IndexBuffer.IndexBufferRHI->GetSize(), RLM_ReadOnly);
        for (int32 i = 0; i < nNumIndexLG; ++i)
        {
            Triangles[i] = indices[i];
        }
        RHIUnlockBuffer(lodResLinkGreen.IndexBuffer.IndexBufferRHI);
    }

or

for (int32 i = 0; i < PositionVertexBuffer.GetNumVertices(); i++)
        {
            FVector3f fv3Pos = PositionVertexBuffer.VertexPosition(i);
            Vertices.Add(FVector(fv3Pos.X, fv3Pos.Y, fv3Pos.Z));
        }

also can’t work on shipping environment.