November 16, 2002. El Muerte describes how to integrate UMake with EditPlus, an excellent text editor, on Unreal Wiki: EditPlus. Clicking UMake's Edit button then directly brings you to the source code line where the compiler coughed.
Especially the project auto-selection should be handy for people who can't really integrate UMake into their development environment otherwise. (And remember that you can even specify a keyboard shortcut in a desktop shortcut's Explorer properties!)
What is UMake?
UMake is for Unreal-engine coders using their own custom development environment, usually consisting of their favorite text editor and class browser.
Unfortunately, compiling an Unreal project requires a row of steps which get tiresome if they have to be repeated over and over again. Many coders manually compiling their projects set up small batch files for that task, but those small scripts usually only provide a bare minimum of convenience.
That's where UMake comes in. UMake completely wraps all steps necessary to compile an Unreal project behind a slick user interface and provides a whole bunch of additional convenience features that make setting up a project and compiling it a matter of a few mouse clicks. You can monitor the compiler's progress on the fly if you like. Compiler errors and warnings are displayed along with a comprehensive explanation beyond the compiler's own brief message.
In addition, UMake gives the opportunity to integrate the compilation step with the text editor you're using; if your text editor supports it, a compiler error is only a click away from editing the actual line of code that triggered it.
Simply starting UMake without much ado displays the UMake launcher window. Click the browse button (to the right of the edit field) and select an Unreal project path. Then click Compile to start the compilation process.
Obviously using UMake like that isn't the most convenient way and definitely not faster than executing the batch file you've been setting up for your projects before, so it's time to integrate UMake in your system and your development environment.
Click the Options button to pop up UMake's options dialog. Ignore the General tab for now and have a look at the Shortcuts tab:
The buttons in this tab allow you to integrate UMake in several ways in your working environment.
Clicking Register Explorer Commands will add two extra commands to Explorer's right-click menu for UnrealScript files: UMake Compile directly compiles the package the selected UnrealScript source file belongs to, and UMake Project Setup opens UMake's project setup dialog for this package. Previously existing UnrealScript file associations remain unharmed by this.
Clicking Create Desktop Shortcut opens the following dialog box which provides several options for desktop shortcuts UMake can create for you:
You can use a Generic UMake Shortcut as a drop target for UnrealScript source files or project directories or, if you simply double-click the shortcut, UMake will open its launcher window.
If a project is loaded at the moment, you can also create a Project Shortcut which will directly compile the selected project.
The Most Recently Changed Project function is probably the most useful one. Double-clicking this shortcut will automatically scan the game directory (specified in the box below) for the most recently changed project and compile it. That's especially handy if you have no other means to launch UMake directly from your text editor.
Remember that Explorer allows you to specify an arbitrary keyboard shortcut for any desktop shortcut in the shortcut's Explorer properties (right-click the shortcut icon on the desktop and select Properties), so you can set UMake up to directly compile the project you're currently working on at a simple keystroke.
When a compilation error or warning occurs, UMake displays the compiler's error message, the source file and the number of the line within that file that caused the error.
In addition UMake displays a slightly more elaborate explanation about the error if one is available, sometimes even including suggestions on how to fix the problem.
Clicking the Edit button will open the source file and even put the cursor into the line that caused the error if you configure UMake that way. In order to make this feature work, you'll have to specify your favorite text editor in the (previously neglected) General tab in UMake's Options dialog first. Click the Placeholders button there to insert variables for the source file name and line number in the command line. (Check your favorite text editor's manual for details about its command line syntax; usually simply appending the source file name to the command line will do.)
If compilation fails, UMake automatically restores the last working version of your package file.
A hint for advanced users: All explanations are in the plain-text file
UMake Command Line
UMake can automatically set up Explorer extensions and desktop shortcuts for you (see above). If you launch UMake from a different application though, you can use the following command line parameters (items in brackets are optional):
If called without any parameters, UMake displays a launcher window.
Simply extract the archive into a directory of your liking and launch UMake. Click the Options button to customize UMake and to learn how to integrate it in your system.
Send bug reports, questions and other feedback to email@example.com.
Copyright and Acknowledgements
UMake is © 2002 by Mychaeel firstname.lastname@example.org. This program is freely available for noncommercial use and distribution through any electronic network, provided you keep the contents of the original distribution archive intact. For any other use and distribution please contact me for permission. I'm not necessarily disinclined to give it, I'd just like to know in advance.
UMake is freeware and is provided "as is" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. In no event shall the author be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if the author has been advised of the possibility of such damages.