What is "ushell", a CLI tool that ships with Unreal Engine? How to use it on Linux?

Alright, I made it work on Linux. Shell scripts had no executable permissions which was super easy to fix and upstream https://github.com/EpicGames/UnrealEngine/pull/11836

Few additional notes:

  • ushell requires exactly Python 3.11. I have 3.12 and script was not detecting its executable. I had to download a separate version. On Arch-based distros said version is accessible here: AUR (en) - python311
  • README.txt says that ushell.sh must be sourced, but executing it also works just fine. This is important, because sourcing would NOT work with non-POSIX-compliant shells.
  • [project].uproject file must be associated with proper UE version, otherwise ushell won’t detect it. This is not a big deal on Windows because of UnrealVersionSelector.exe, but on other platforms it may must be done manually. On Linux, engine associations are stored under: ~/.config/Epic/UnrealEngine/Install.ini
  • For anyone who will be using this on POSIX, I highly suggest to create an alias for ushell - e.g. for bash, it would be alias name="/absolute/path/to/ushell.sh" inside of ~/.bashrc

I’m not sure, if everything works as it should. I’m still testing it on Linux.

I’ll keep this post open for a while as it is the only public information about ushell right now. Literally, the only one that shows up when googling. I’ll try to update the post with any good findings.

Cheers!

2 Likes