Walker (all directions)
Walk in all directions (diagonals included) by holding the Alt key (can be changed).
In this mod:
✔️Walk speed based on Panam’s speed
✔️Walk in all 4 directions
✔️Walk in diagonals without speed difference
✔️Adapted to all keyboards (not limited to QWERTY)
✔️Code explained
❌Hold Alt button, No toggle (nobody currently knows how to toggle it)
Speed reference:
I based the speed on the NPC Panam so you can walk along main NPCs during quests without overtaking them or be dumped. (Random NPCs in the city have variable movement speed that cannot be used as a reference).
Installation
- Download the file
- Open the folder \Cyberpunk 2077\r6\config
- Create a backup of the file inputUserMappings.xml
- Edit the file and change both LeftX_Axis and LeftY_Axis mapping blocks with the ones in the downloaded files
- You’re good to go
Usage
Just hold the Alt key (or the one you chose) while walking.
Customize the key:
If you want to use another key than Alt to walk then all you have to do is to replace both IK_Alt with the key you want (e.g. IK_C for the C key)
(I personaly use the ‘<>’ key which is next to my Shift key, its code is IK_UnknownE2 btw)
How it works
(Technical details for other developers)
First thing to know:
This file is used by the game as a base, so all your preferences defined in-game are NOT saved here.
This block defines the jogging & walking speed and keys for going forward ⬆️ and backward ⬇️.
In bold are changed/added elements from the original file:
<mapping name=”LeftY_Axis” type=”Axis” >
<button id=”IK_Pad_LeftAxisY” />
<button id=”IK_W” val=”1.2″ overridableUI=”forward”/>
<button id=”IK_S” val=”-1.2″ overridableUI=”back”/>
<button id=”IK_A” val=”0.0″ overridableUI=”left”/>
<button id=”IK_D” val=”0.0″ overridableUI=”right”/>
<button id=”IK_Alt” val=”0.0″ />
</mapping>
Let’s take a look at each line:
- First button: is for console controller (just ignore it).
- 2nd & 3rd buttons: default buttons for moving forward and backward. Only their value changed.
- 4th & 5th buttons: Handle diagonals.
- 6th button: The walk button.
Description of a button:
<button id=”IK_W” val=”1.2″ overridableUI=”forward”/>
- id correspond to the default key.
- val defines the speed related to the key, the range is between 1.0 et -1.0 (Yes some of my values are out of range, but I will get to it later). A positive value means the character will go forward, and backward for a negative value.
- overridableUI indicates that the default key will be changed by the in-game preference you’ve defined. (Here it will use your in-game “forward” setting to override the default W key, usefull for AZERTY keyboards)
Game’s value behavior:
If you press 2 keys, the game will combine thoses two values and take the average (within the +1.0 -1.0 limit). So, if these key values are 1.0 and 0.2, the result will be the 0.6.
Since we don’t want our character to move when only pressing the Alt key, we need to define its value to 0.0. This means that only our “jogging” speed can change.
The default jogging speed is 1.0, so if you try to walk, the average value will be 0.5, but by exceeding the limit you can increase the average without affecting the jogging speed.
The ideal value I found is 1.2 which allows you to follow an NPC without gowing too fast or too slow. But if you don’t care that much about looking at Panam’s butt or you feel like a turtle, I suggest you to adjust the value between 1.5 (faster) and 1.0 (slower).
Handling diagonals:
<button id=”IK_A” val=”0.0″ overridableUI=”left”/>
<button id=”IK_D” val=”0.0″ overridableUI=”right”/>
When walking in diagonals (forward left for example), your average movement value is 0.8 (1.2 forward key, 1.2 left key, 0.0 Alt key), which is higher than the normal walk speed of 0.6. By adding these lines, we add another value of 0.0 which gives an average of 0.6, as expected. So the diagonals speed is the same as other directions.
FAQ
1. Do I need to erase the game cache ?
Nop, erasing it shall not change anything (unless I missed something about it).
2. I can’t bind my key. / Which key code to use ?
Make sure the key code is correct.
If you’re using a very specific and uncomon key, you can try to affect in-game first this key to a basic command (without saving, the game may show you the code instead of the key if it doesn’t recognize it, this is how I discovered the key code for ‘<>’ was IK_UnknownE2)
If you’re using an alphabetic key, just put the letter in uppercase after IK_ (IK_A, IK_B, IK_C, …)
Some other key codes you may look for : IK_LShift, IK_Ctrl, IK_Tab, IK_CapsLock