uecli - a command line interface for unreal engine tools

I have been working on a command line interface to help me interact with unreal engine built-in tools and automate tasks in my CI. I use it to build my Fog of War plugin for UE 4.27, 5.0 and 5.1 on both Windows and Linux.

The command line interface is built on top of UAT, UnrealEditor, and UBT, and it simplifies the functionality into digestible chunks while also providing comprehensive documentation. Additionally, the architecture of the tool allows anyone to implement their own commands as plugins and leverage the existing features.

The architecture allows anybody to implement their own command as plugins.

Currently there are over 30 commands implemented.
The most notable ones are:

  • Cooking
  • Running tests
  • Localize
  • Build project
  • Build & Package Plugins
  • Regenerate Project files

There are also QOL commands that just package tasks I found useful.

  • turn a blueprint project into a C++ project
  • create a dedicated server target
  • create a documentation folder that leverage Doxygen & Sphinx
  • Verify that a plugin follows market place guidelines

Here’s an example of how to use the tool:

# Register Installed engine version
uecli engine add --version 5.1 --engine D:/EpicGames/UE_5.1/Engine
uecli engine add --version 5.0 --engine D:/EpicGames/UE_5.0/Engine
uecli engine add --version 4.27 --engine D:/EpicGames/UE_4.27/Engine

# Package a Plugin
uecli -v 5.1 plugin package MyPlugin.uplugin --output  C:/Output/MyPlugin

# Populate Plugin fields and checks for marketplace guidelines
uecl plugin finalize  MyPlugin.uplugin  C:/Output/MyPlugin/MyPlugin.uplugin --marketplace

# Cook a Project
uecli uat cook MyProject --archivedirectory C:/Output

I am hoping some of you will find it useful as well.

1 Like