Steam & UnrealEd: Fixing Directory Names

Get some cool tips about how to tweak your UT graphic, gameplay, and much more!
Post Reply
User avatar
zacman
Adept
Posts: 412
Joined: Wed Apr 15, 2009 5:36 am
Personal rank: M-M-M-MONSTER KILL

Steam & UnrealEd: Fixing Directory Names

Post by zacman »

As most of you probably know, the UT games prior to UT3, because of their relatively old engines, had a bug where UnrealEd couldn't parse spaces in directory names, resulting in UEd being unable to load any packages.

This provides a problem for anyone who got their copies through Steam, as even if you store your Steam Library outside the Program Files directory, Steam still gives the games folders themselves names containing spaces - i.e. E:\Steamlibrary\Steamapps\Common\Unreal Tournament - which means you need to keep a separate UT Directory to make the editor functional. Of course, THIS copy of UT won't work properly, because if the steam version of UT is launched without the Steam Client, the UnrealTournament.exe won't run!

After some messing about, however, I've found the solution.

What you will need
Notepad++
Steam copy of the game you want to edit
Steam Directory or external steam library installed in a folder without spaces (NOT program files or similar) Settings for Steam Library Folders are found under the Downloads section in Steam's settings menu.

Start off by Closing Steam, since we will be changing files that Steam needs to read. Next, change the name of the Game's directory. The game can be found in your steam library, under Steamapps\Common\Unreal Tournament. Change this to Steamapps\Common\unrealtournament - This fixes the space and makes the editor run again. However, Steam will no longer recognize the game.

Next, navigate to the Steamapps folder of the library that the game is installed in. You will find a couple of folders, and a bunch of files called "appmanifest_XXXXX.acf" where "X" is numbers. We want to open the one that corresponds with the game with Notepad++. The Appmanifests's number corresponds with the game's Steam ID.

For Unreal Tournament, it's "appmanifest_13240.acf"
For Unreal Gold, it's "appmanifest_13250.acf"

When opened, the AppManifest should read something like the following:

Code: Select all

"AppState"
{
	"appID"		"13240"
	"Universe"		"1"
	"name"		"Unreal Tournament: Game of the Year Edition"
	"StateFlags"		"4"
	"installdir"		"Unreal Tournament"
	"LastUpdated"		"1390570849"
	"UpdateResult"		"0"
	"SizeOnDisk"		"701101404"
	"buildid"		"0"
	"LastOwner"		"76561198048595886"
	"BytesToDownload"		"447848544"
	"BytesDownloaded"		"447848544"
	"AutoUpdateBehavior"		"0"
	"AllowOtherDownloadsWhileRunning"		"0"
	"UserConfig"
	{
		"name"		"Unreal Tournament: Game of the Year Edition"
		"gameid"		"13240"
		"language"		"english"
	}
	"MountedDepots"
	{
		"13241"		"4273806708369366588"
	}
}
We want to change the "installdir" entry to match our renamed folder,

Code: Select all

	"installdir"		"Unreal Tournament"
The final result should be as follows:

Code: Select all

"AppState"
{
	"appID"		"13240"
	"Universe"		"1"
	"name"		"Unreal Tournament: Game of the Year Edition"
	"StateFlags"		"4"
	"installdir"		"UnrealTournament"
	"LastUpdated"		"1390570849"
	"UpdateResult"		"0"
	"SizeOnDisk"		"701101404"
	"buildid"		"0"
	"LastOwner"		"76561198048595886"
	"BytesToDownload"		"447848544"
	"BytesDownloaded"		"447848544"
	"AutoUpdateBehavior"		"0"
	"AllowOtherDownloadsWhileRunning"		"0"
	"UserConfig"
	{
		"name"		"Unreal Tournament: Game of the Year Edition"
		"gameid"		"13240"
		"language"		"english"
	}
	"MountedDepots"
	{
		"13241"		"4273806708369366588"
	}
}
Now, open steam back up, and make sure UT runs fine. Steam functionality is retained, and UnrealEd now loads packages just fine!
Image[url=steam://friends/add/76561198048595886]Image[/url]
User avatar
Dr.Flay
Godlike
Posts: 3347
Joined: Thu Aug 04, 2011 9:26 pm
Personal rank: Chaos Evangelist
Location: Kernow, UK
Contact:

Re: Steam & UnrealEd: Fixing Directory Names

Post by Dr.Flay »

I am wondering if you can trick it by using "%20" for a space.
Or is that only for URLs ?
May be worth a try as Steam is in internet app.
Post Reply