Instantiate within boundaries of Mesh shape

Hi all,
I want to spawn certain gameobjects, but only within the boundaries of certain meshes.
Below is a picture of what a shape could look like. Tried to find it before asking, but couldn’t find what I needed. I know how to spawn at the vertices, now just a way to fill the spaces between the verts. Excuse me for my mediocre English.

Probably the simplest way would be to generate random points in the Collider2D.bounds of the polygon then use Collider2D.OverlapPoint to check if they are inside the actual polygon.

Thanks!! So it worked for the biggest part. The only problem is the offset in the bounds. I get different offsets depending on the scale of the spawner. Maybe the center is wrong?

Collider2D thisCollider = GetComponent <PolygonCollider2D> ();
Bounds bounds = thisCollider.bounds;

float rangeOfX = (bounds.size.x * 0.5f);
float rangeOfY = (bounds.size.y * 0.5f);

Vector3 newVec = transform.TransformPoint (new Vector3 (Random.Range (-rangeOfX, rangeOfX), Random.Range (-rangeOfY, rangeOfY), spawnedObject.transform.position.z));

spawnedObject.transform.position = newVec;

Below some pictures of the result:
Without overlap check

With overlap check