UE 4 Python Tools from Tragnarion

Hi there guys!

We just decided to release from tools we use here over at Tragnarion so every one can benefit from them. They are just 'lil helpers to get around some annoying things ^^

Copy Project

There a lot of nice sample projects provided by Epic, the ShooterGame is just fantastic. But when you want to start your own project and reuse their base code and assets its hard to rename all by hand, not to mention that some references are within the assets. So we just made a quick tool that handles the naming convention from Epic and outputs a working project with a different name. It will also fix-up all content references in every .umap or .uasset to point to the new class names. In short you will transform ShooterGame into AwesomeGame (you can not use the game name ‘Shooter’ in yours though, the tool will fail if you do :D).

The tool is called ‘CopyProject’, yeah sometimes I’m not very smart providing names :smiley:

Long story short, here you got the projects GitHub, for Mac/Linux folk using the python setup script should be easy, for the windows folk I added a pre-compiled binary executable so you do not have to worry about python at-all (check the releases tab).

Make sure you execute the tool from a created sample project, not directly from what the launched downloads.

Register Engine

This is currently a windows only tool, sorry ^^. What the tool does is to help us setting up your projects in a team environment. We had a lot of issues over here setting up the projects for every developer, the root of all those issues where that some developers had the project outside their engine installation. Such a project is called a foreign project. Having them outside the root of an engine installation will force you to point to a specific installed engine with its very own UUID. Each engine installation generates a unique ID on every developer box. This means that the .uproject files for every developer in team will have their own UUID pointing to their installation, which they will for sure push to the version control system (humans are very good in performing mistakes :D).

To solve this issues we just created a small tool that registers a given engine using a fix UUID. So every one will have the same UUID in their .uproject file and no one will accidentally break the .uproject file for the others.

As with the previous tool it’s all on GitHub with a nice pre-compiled binaries in the releases tab.

The tool used ‘{7F209AE1-0867-4B03-811D-243C9BAF2E74}’ as its default UUID (the one we use :D), to use your own just use the ‘-u’ switch or create a ‘uuid.txt’ file where you execute the tool with your UUID in it (brackets included!). I prefer adding the ‘.exe’ and the ‘uuid.txt’ into your version control system so that you just have to double click it after a new clone/checkout.

Thats all for today :smiley:


Thanks for sharing these tools.

Hope they can help a bit, if not they will only catch dust hehehe

Thanks for sharing, good to get some tools from the trenches. :slight_smile:

^^ Thanks!

I’ll see if I can push some more when we got them polished :slight_smile: