double faced wall black light problem

Hi,
So I generated a wall manually that has double sides by duplicating triangles, and I get a very dark, almost black color on the model. When I change the material of the wall to non-lit or unlit, then I see the texture, once I apply a material that involves lighting, the model turns black.
Here is how I duplicate the triangles:

triangles.Add (point1);
        triangles.Add (point2);
        triangles.Add (point3);
        colours.Add(color);

        if (twoFaces) {
            triangles.Add (point1);
            triangles.Add (point3);
            triangles.Add (point2);
            colours.Add(color);
        }

Without double facing

With double facing

I think what you are saying is…
Your code doesn’t show exactly what “triangles” get used for, or what “pointx” are. In the explanation below, I assume that point1, point2, etc. are point indices of type int, and that “triangles” are a of type List that eventually gets assigned to a Mesh using something like.
mesh.triangles = triangles.ToArray(),
or
mesh.SetIndices( triangles.ToArray(), MeshTopology.Triangles);

The problem
The problem is probably the normals of the mesh. For a normal to work well for lighting, it should have length 1 and be pointing “out” of the surface. Since you are using the same points for both sides of the surface, the normals for those points cannot do that.
If you calculated the normals using Mesh.RecalculateNormals(), the result is probably that the normals ended up having length 0 in an attempt to compromise between the triangles on the two sides.

In order to solve this, you either need to make separate points for each side, or make a special shader, that can turn a single-sided mesh into a double-sided one.

Colours?
Another note: I am not really sure what you are doing with the “colours” array. Normally, in a Mesh, you should have as many colours as you have vertices, not one per triangle?

@cblarsen thank you, that was the problem. I solved it by creating a new points for the back.