Correct way to draw on screen for 2D game

I have rectangular sprites connected to each other to form a rope-like object. When these objects collide with other objects and rotate, gaps appear between the rectangles. I would like these to appear as a contiguous rope with no gaps. In other 2D game engines, I would just draw lines between the necessary points and fill in the center of the shape. I am new to Unity and am wondering what is the appropriate way to do this.

Should I draw on the screen using OnGUI?

Should I create sprites at run-time and fill in the texture programmatically, then rotate/move the sprite as the rope requires? This seems sort of difficult to me initially.

Should I create some kind of custom mesh object where I define the vertices and just fill in the texture programmatically? I’m not even sure how possible this is. Would Graphics.DrawMesh() work for this?

Is Unity maybe not the game engine that I should be using for this type of game that requires a lot of custom drawing on the screen when the drawing is not related to the GUI?

Thanks in advance and let me know if more clarification is needed.

If you don’t mind spending a bit of money, Vectrosity is a great line drawing package. This is an efficient line drawing solution.

There are a number of other ways to draw lines:

[3 ways to draw 3D lines in Unity3D]
2

In addition, you could size and scale quads as lines. The code to do this has been posted a few times in this last year. Here is one post.

http://answers.unity3d.com/questions/444478/instantiating-platforms-between-two-vectors.html