Unsigned overflow happens when an unsigned result is bigger than 2ⁿ − 1, the largest n-bit value, or (for subtraction) less than 0.
For addition the test is simple: look at the carry out. A carry-out of 1 means the true sum needed an extra bit, so the n bits you kept are wrong. What's left is the true sum minus 2ⁿ: the result has wrapped around.
For example, 4-bit 1110 + 0011 = 1 0001. The true sum 14 + 3 = 17 doesn't fit, and the 4 bits show 1 = 17 − 16.
For subtraction on an adder (A + inverted B + 1), the sense flips. Carry-out 0 means a borrow was needed: A < B, and the unsigned result is wrong.
Unsigned overflow says nothing about signed overflow. The same addition can overflow one way and not the other, because the unsigned range breaks between 1111 and 0000 while the signed range breaks between 0111 and 1000.
Processors store the carry-out in the carry flag. Code that works with unsigned numbers (addresses, sizes, counts) checks that flag.