How I'd do it is check the area the unit should be in. If it detects that there is no unit, then move the unit and make a ping to where you moved it. It may be easier if you have the builder unit in a unit group array variable.
If there are any corners to the area just make a trigger with a local boolean. Make multiple if statements where if the unit is found it sets the boolean to true. Then make one last if statement that checks the boolean if it's false, then move the unit back to the area. The event would be unit leaves region.
How I'd do it is check the area the unit should be in. If it detects that there is no unit, then move the unit and make a ping to where you moved it. It may be easier if you have the builder unit in a unit group array variable.
If there are any corners to the area just make a trigger with a local boolean. Make multiple if statements where if the unit is found it sets the boolean to true. Then make one last if statement that checks the boolean if it's false, then move the unit back to the area. The event would be unit leaves region.