Skip to content

Installing LiveHeX

Lusamine edited this page May 14, 2023 · 47 revisions

LiveHeX is a feature of PKHeX-Plugins that allows live, over-the-air editing of box Pokémon. This is optimized for use in Sword/Shield, Brilliant Diamond/Shining Pearl, Legends: Arceus, and Scarlet/Violet, but has limited use with Generation 6-7 on 3DS (via NTR) and with LGPE on Switch.

image

Requirements

  • Using LiveHeX implies that you have CFW installed on your console. This should be fairly obvious.
  • You must complete the basic installation of PKHeX-Plugins.
  • sys-botbase or usb-botbase is required for LiveHeX to communicate with the Switch.
    • sys-botbase: Download the latest version of sys-botbase.zip from Releases and extract the contents to the root of your SD card. This connects on port 6000. Reboot your Switch afterwards.
    • usb-botbase: If you are unable to maintain a stable Wi-Fi connection, consider usb-botbase instead.
  • NTR is required for LiveHeX to communicate with the 3DS.
    • Follow installation instructions for BootNTR Selector and pick the newest option. You may need to use the workaround with Luma3DS 3GX Loader build until a proper release.
    • Make sure you press X + Y and select Enable Debugger. You can also enable the debugger through Rosalina by pressing L + DDOWN + SELECT and go to Debugger options... > Enable debugger.
  • On Switch, you should not be running anything that might cause a RAM shift such as cheats (e.g. via Edizon or Tesla), layeredfs mods, or CaptureSight. Remove these programs and reboot if you encounter problems, or open the game while holding L. You can temporarily disable all Atmosphère cheats by holding L while booting the game. Disable or remove these before you start.

Starting LiveHeX

  • In PKHeX, go to Options > Settings > Blank Save Version and change this to the game you want to connect to.
  • Launch LiveHeXUI through Tools > Auto-Legality Mod > Open LiveheX.
  • Enter your local IP address. This can be obtained by opening the Homebrew Menu and pressing Y or looking in Settings. Do not copy any other ports you see.
  • Verify the port. The default ports for sys-botbase is 6000 on Switch and the NTR is 8000 on 3DS.
  • If you choose to use usb-botbase, follow the setup instructions.
  • You can connect to any of these games as long as Wi-Fi is active.
    • For SWSH, connecting requires you to be connected to online in-game. Alternatively, you can connect at any time if ldn_mitm is installed or if you are in native LAN mode. To enter LAN mode, go to Options in game and use L + R + Left Stick (Press).
    • BDSP, LGPE, LA, and SV should allow connecting at any time. LGPE editing may require you to not be looking at your box.
    • 3DS games allow connecting while connected online in-game, on the "Continue" screen at start, while the game is minimized and you are zoomed out to the Home screen.
    • NFC patching is available for SM/USUM; if you connect while the game is minimized or while you are online, LiveHeX will maintain its connectivity while you are in-game even if you are no longer online.
  • Click "Connect". The gray buttons should become active and any Pokémon in your box should appear if you did this correctly.

Features

  • Read on Change Box: Automatically loads a box from the game when the box is changed in PKHeX.
  • Inject in Slot: Enables injection, dragging, and deletion of Pokémon in game. Inject a Pokémon with "Set" or dragging into a box slot. Remove Pokémon from your box by using "Delete".
  • Read Current Box: Updates the current box. Use this if you have made changes in game that have not updated in LiveHeX.
  • Write Current Box: Copies the entire current box in PKHeX to the corresponding box in game.
  • Read/Write from Slot: Self-explanatory.
  • Read from Offset: Allows reading a Pokémon from an arbitrary offset in memory.
  • RAM Editor: Arbitrary RAM reading/writing. Be careful with this if you do not understand it.
  • Pointer Lookup: Arbitrary pointer reading/writing. Be careful with this if you do not understand it.
    • Copy Address: Copies the heap address that the pointer resolves to. Hold ctrl and click to get absolute, heap, and heap base addresses.
    • Edit RAM: Opens a window to edit the RAM at the specified pointer. This uses the Size setting from the RAM Editor section. This window also allows for automatically refreshing the bytes at the address of interest.
    • Read Pointer: Size needs to be set to the size of a Pokémon. Attempts to read the pointer for a Pokémon and loads it into the editing panel of PKHeX if it exists.
    • Prefix this field with [key] followed by a hex value to read the value of a save block key in Scarlet/Violet. For example, [key] 708D1511 will read the value of the KCoordinates save block. This feature is read-only, and since it reads from the save blocks, the value may not be updated until a manual save occurs in game.
  • RAM Config: Tells LiveHeX to treat the addresses as heap, main, or absolute addresses. For example, setting this to Absolute allows the "RAM Editor" section to read addresses as if they are absolute rather than relative to heap.
  • Block Editor: Works the same as PKHeX's block editor, except on select blocks such as Raids, Items, and Pokédex.

Caveats

  • NTR on 3DS can be slow, resulting in red boxes. If you have errors, change the box until it appears properly.
  • LGPE does not support adding or deleting Pokémon since it is a list. You should only replace existing Pokémon.
  • SV Raid and item editing require a save and reboot to take effect in game.
  • SV version 1.0.0 is not supported. Only versions 1.0.1 and later will work.

My LiveHeX is still not working!

If you have read everything on this page, visit the Troubleshooting section to learn how to get more help.