If you are unfamiliar with U-Bahn, here is a guide that covers the core logic.
Shade some cells so that all shaded cells form one orthogonally connected area and the unshaded cells are all connected orthogonally by other unshaded cells to the edge of the grid. No 2x2 region may be entirely shaded.
Draw a loop network through the centers of some unshaded cells, which may branch or turn, but may not have any dead ends.
A clue outside the grid on the left or top indicates how many times the corresponding line shape (i.e. a cross, branch, straight line, or turn) appears in the corresponding row or column, irrespective of the line shape's rotation.
Clues outside the grid on the bottom and right represent the lengths of the blocks of consecutive shaded cells in the corresponding row or column, written in ascending order. A “?” can represent any non-zero value.