Unreal Tournament 3 - UltimateConsole
- Category First Person
- Size 62.4 KB
- Program by Matthew Fawcett
Unreal Tournament 3 - UltimateConsole
This tool was developed to make developing a mod easier. UT3 has a built in log window which developers can output messages to, but these messages can easily get lost in the sea of debug output. UltimateConsole aims to replace the UT3 log window with one that has color coded categories for messages and the ability to filter out messages that you are not interested in.
Make Something Unreal Submission:
Phase 1: Best Tool
UltimateConsole for UT3 v1.0
Created by Matthew Fawcett
Email: [email protected]
This tool was developed to make developing a mod easier. UT3 has a built in log window which developers can output messages to, but these messages can easily get lost in the sea of debug output. UltimateConsole aims to replace the UT3 log window with one
that has color coded categories for messages and the ability to filter out messages that you are not interested in.
While this may seem pretty useful if you are the only programmer on a project, it really shines when you are working with a team of several programmers - if you are working on weapons, you can easily turn off all AI logging for example. And if you do see an issue with the AI (or any other system) you can just turn those categories back on, and any logs that have been received for them will be added to the log window.
* Categorize your log output with individual colors
* Hide the output from unwanted log categories
* Change the font used to display log output
* Monitor runtime output or monitor a log file
* Run with -autorun to automatically start up UT3 and monitor output
How to use:
The first time you run UltimateConsole, you will want to go to the preferences dialog (Tools->Preferences) and set the path to UT3 (defaults to C:\Program Files\Unreal Tournament 3\Binaries\UT3.exe).
You should also take the opportunity to look at the various commandline options available and set any you wish to use. These settings are saved to the UltimateConsoleSettings.xml file in the same folder as this program.
Pressing the play button will launch UT3 and start monitoring the output. As UltimateConsole encounters new log categories it will assign them a new color, which you can adjust at any time in the preferences dialog. When you are done testing, press the stop button and UT3 will be closed.
Pressing the log-book button will start monitoring the log file specified in the preferences dialog (defaults to C:\My Games\Unreal Tournament 3\UTGame\Logs\Launch.log) Whenever this file is updated, the changes will be added to the UltimateConsole output window. This does NOT start UT3, you can start UT3 normally, use another program to launch it, or start monitoring an already running game.
Note that UT3 only writes to the log file every 4K of data, which happens every 5-10 seconds.
To start UT3 automatically when the program opens, create a shortcut to UltimateConsole.exe and add "-autorun". This will use the last saved settings for commandline switches and additional arguments so you can quickly iterate when making changes to your mod.
UltimateConsole works by intercepting standard output from UT3. Unfortunately, when the UT3 log window opens, it captures all output causing UltimateConsole to receive nothing. The only known workaround for this (so far) is to run with the commandline options -log and -benchmark. -log allows UT3 to output standard log information, and -benchmark prevents it from opening its own log window.
However, running with -benchmark has several other side-effects including:
* No sound
* Fixed timestep (the game speed is directly proportional to the framerate)
As a workaround for this issue, you can run UltimateConsole in log file monitoring mode. Hopefully Epic will add a flag like -nologwindow which can be used instead of -benchmark to stop UT3 from opening its log window, without all the funky side-effects.
Taking advantage of logging:
Create categories for different objects in your mod! Each category will be automatically detected, and can be filtered on and off easily.
Now you no longer need to see the log messages of objects and systems you are not currently developing/debugging.
In unrealscript you can add a category to your log messages like so:
`log("This is a message",true,'MyCategory');
This will produce the following line in the log:
MyCategory: This is a message