Stream obstacles, naturally formed like boulders or engineered like weirs, are the major source of flow resistance; however, to quantify their flow resistance, a resistance formula needs to be selected in accordance with the specific obstacle type, i.e. obstacle type dependency. So far, whether a unified resistance formula that adequately characterizes the roughness of distinctive obstacle types is elusive. Here, we conduct flume experiments with various natural and engineered submerged obstacles, including boulders, weirs, log jams, and transverse stones. We combine them with existing datasets containing rigid vegetation, step-pool, and riffle-pool to identify a unified metric for a general resistance relation. We test three roughness metrics, the widely used roughness metrics D84 (84th percentile of bed grain size distribution), a bathymetric-line-based metric σz,centerline (the standard deviation of bed centerline elevation), and the new metric σz,bed (the standard deviation of elevation of the entire bed) as bed roughness, respectively. σz,bed is proposed to incorporate the roughness inhomogeneity in the transverse direction which widely exists in both natural and engineered channels, complementing the insufficiency of line-based metric σz,centerline. We show that the resistance equation based on σz,bed demonstrated a more consistent and superior velocity prediction capacity than D84 and σz,centerline throughout almost all types of obstacles. Interestingly, when applied to vegetated channels, the resistance formula based on only σz,bed can compare with those based on multiple parameters related to vegetation characteristics. This study shows the viability of unifying the flow resistance formula in open-channels with submerged obstacles, avoiding obstacle-type dependency.