Is there any way to adjust edge scrolling?

For the top of screen the scrolling hot spot isn't actually the top of the screen, it's just below the menu, which you can see in the below image (the black bars roughly indicate the spot to move your mouse to scroll up on the screen).

enter image description here

If you don't like this you can actually adjust by going to your Civ VI folder and editing the file Base\Assets\UI\WorldInput.xml. Go to the following line (should be line 24):

<Container  ID="TopScreenEdge"     Anchor="L,T" Size="Full,30" Offset="0,28" />

Once here you can adjust the Size and Offset parameters to control when edge scrolling happens. Size indicates how large the mouse hot spot area is, with the first value being the horizontal length and the second being the vertical length. Offset controls the position on the screen this hotbox appears, with the first value indicating how far from the left of the screen this area starts and the right indicating how far from the top of the screen to starts. The Anchor value will actually change which side of the screen the offset starts from, but I'm really not sure why you'd want to change this and I'd strongly suggest leaving it alone.

So if you wanted to move the scroll up hotspot up higher than you'd want to update Offset so that that 28 value is lower. You'll want to decrease the 30 in Size as well or the hot spot will take up the entire top menu bar (which makes it impossible to use the top menu without also scrolling the screen). The game will see updates from this file immediately (so you don't need to restart the game), so you can tweek these values until you find something you like. There are entries for every side of the screen, so you can even adjust the left, right and bottom too if you want:

  <Container                                        Size="Full,Full">
    <Container  ID="LeftScreenEdge"    Anchor="L,T" Size="30,Full"               />
    <Container  ID="RightScreenEdge"   Anchor="R,T" Size="30,Full"               />
    <Container  ID="TopScreenEdge"     Anchor="L,T" Size="Full,30" Offset="0,28" />
    <Container  ID="BottomScreenEdge"  Anchor="L,B" Size="Full,30" Offset="0,0"  />
  </Container>

The scrolling speed can also be adjusted. Just open up Base\Assets\UI\WorldInput.lua and adjust the following line:

local PAN_SPEED :number = 1;

This should be line 34, and changing that 1 to a higher value will increase the scrolling speed. You can decrease it by lowering this number as well, but I'm not sure why anyone would want to do that. Just like the previous file changes from here take effect without the need for a restart.

I have yet to find a way to fix the right-left edge scrolling, and it looks like everything around the "next turn button" doesn't have edge scrolling enabled. You can still do this using the arrow keys, though, and I suspect this is something we'll need to wait on patch for in order to be fixed.

Sources 1 2


As Mitja sais in his comment, this problem is common with 4k monitors, but after testing I suspect it will bother anyone using a UI scaling option other than 100%. He're the fix I use at 4K resolution with 200% UI scaling, and I think this fix should work for any res/scaling (In the \Steam\SteamApps\common\Sid Meier's Civilization VI\Base\Assets\UI\EdgeScroll.xml file) :

<Context>
    <Container                                        Size="parent,parent">
        <Container  ID="LeftScreenEdge"    Anchor="L,T" Size="2,parent" />
        <Container  ID="RightScreenEdge"   Anchor="R,T" Size="2,parent+1" Offset="-1,0" />
        <Container  ID="TopScreenEdge"     Anchor="L,T" Size="parent,2" />
        <Container  ID="BottomScreenEdge"  Anchor="L,B" Size="parent+1,2" Offset="0,-1" />
    </Container>
</Context>