I've been trying to get a decent result with the unwrapping of a mesh representing a boardgame counter (top + bottom). I've bevelled it first, applied smooth surface and then unwrapped it in many different ways, but it seems to always get the edges wrong. As you can see in the reference picture, the camo texture should continue to the edge of the counter, instead, it stops showing a different part of the mesh. It shouldn't be that hard to do, but for some reason I always get the same result. Is there a way to have the top part of the mesh show exactly as it does in the reference pic?
The problem with your texture isn't the way you are unwrapping the UV's, the problem is the way the UV's are automatically positioned. For example, in the picture below is approximately what the UV's of your cube look like (I know they aren't the exact same)
There's not an easy way to fix that part, that's just how a cube unwraps. What you can do however, is put a mapping node, onto your cube's image texture, and switch the texture coordinate from UV, to generated, and then you will have to scale it to get the right dimensions.