We're a wizards, Harry
- Don't use Mac - why would you do that?
- Install xmake for compiling
- Install Visual Studio Community - Desktop C++ for the compiling (you can use VSCode if you want)
- Install Rust for Windows
- DON'T clone the repository yet before reading setup instructions
First, create an Epic Games account and link your GitHub account to it under Apps & Accounts. Once that is completed, check your email for an invitation to the Epic Games GitHub organization. This step is required to properly download all dependencies.
The client requires a few more dependencies to properly compile and run. To keep things neat and tidy, first, make a folder of your choice to house the HLMMOClient
repository, as well as an additional group of Unreal Engine Modding dependencies. For example, create a folder at ~/Developer/HLMMO/Client
. Inside the Client
folder you just created, do the following steps:
- Clone the
HLMMOClient
repository into the folder - Clone the RE-UE4SS repository into the same
Client
folder (it should be a sibling ofHLMMOClient
in the folder structure) - Navigate into the
RE-UE4SS
repo you just cloned and rungit submodule update --init --recursive
- this will download a few additional dependencies and plop them into thedeps
folder inside theRE-UE4SS
repo. - In the root folder,
Client
, create axmake.lua
file and put the following contents:
includes("RE-UE4SS")
includes("HLMMOClient")
- In the
Client
folder, run:
xmake f -m "Game__Shipping__Win64"
xmake
-
After that is completed, install the latest version of UE4SS and follow the instructions - in the context of the installation, if you installed Hogwarts Legacy via Steam, you should be placing the files in
steamapps\common\Hogwarts Legacy\Phoenix\Binaries\Win64
-
Follow the instructions for Installing a C++ Mod and make sure you copy over the following file from your
Client/Binaries/Game__Shipping_Win64/HLMMOClient
folder:HLMMOClient.dll
- make sure to rename theHLMMOClient.dll
tomain.dll
as per the UE4SS instructions -
In the
Client/Binaries/Game__Shipping_Win64/UE4SS
, copyUE4SS.dll
andUE4SS.lib
over intosteamapps\common\Hogwarts Legacy\Phoenix\Binaries\Win64
and if asked, select to overwrite existing files -
Copy over the GameNetworking library files from the
HLMMOServer
repo ->GameNetworkingSockets.dll
,GameNetworkingSockets.lib
,libcrypto-3-x64.dll
, andlibprotobufd.dll
-
Your
Mods/HLMMOClient
folder should look like this:
dlls/
main.dll
GameNetworkingSockets.dll
GameNetworkingSockets.lib
libcrypto-3-x64.dl
libprotobufd.dll
- In the
\Phoenix\Binaries\Win64
folder, openUE4SS-settings.ini
and adjust the following settings:
# Update the Console settings to ensure its enabled
ConsoleEnabled = 1
GuiConsoleEnabled = 1
GuiConsoleVisible = 1
# Update the console font scaling to ensure its visible
GuiConsoleFontScaling = 3
- Run your compiled server from the
HLMMOServer
repository (directions in that repo) - Launch Hogwarts Legacy - you should see your Server executable receiving a UDP connection and it should launch a UE4SS debug window and another terminal window describing the connection
- Congratulations, you did it!
If you receive build errors, navigate to
Client/Intermediates/.packages/c/**/install.txt
for more detailed error logging. Your Terminal output will nudge you here.
Error: unable to create directory ... Access is denied. (os error 5) This is an error coming from Rust's package manager, Cargo. There is a closed issue on the Rust repository describing this. It seems that the current commonly accepted method for fixing this is to the relevant file to the exclusions list in Windows Defender.