PDA

View Full Version : Quick Tip: Managing Multiple Projects with UDK



Lunazure
11-08-2009, 07:56 AM
Hey guys! Well the UDK tutorials are still in the works, but for now I'll be putting out Quick Tips every once in a while. These will essentially be mini-tutorials focused on individual tasks, improving your project workflow, or just learning something cool that could be used in your game. Today's Quick Tip is for those of you who are interested in managing multiple UDK projects and keeping them organized. Let's get started!


First let's go to UDK > UDK-2009-11 > Development > Src. This is where the MyMod directory is, which is where you would normally put your custom scripts. But we want to add more projects and seperate them in an organized fashion. So, start by adding a new folder here and calling it MySecondMod (or whatever you want your next project to be).

http://i289.photobucket.com/albums/ll203/NickPfisterer/AddingANewModFolder.jpg

Now open your new folder and add a new one in here called Classes. This is the folder you'll put your scripts in, just as you have been doing with MyMod.

Once you have that set up, navigate to UDK > UDK-2009-11 > UTGame > Config. Look for UTEngine.ini and double-click to open it with Notepad or whatever text editor you prefer to edit configuration files.
Scroll down until you find the [UnrealEd.EditorEngine] section. Scroll down towards the bottom of this section and look for the line "ModEditPackages=MyMod".

(For those of you who haven't done this yet, there will be a ';' in front of the line. This symbol is used to comment out anything you DON'T want UTFrontEnd to compile. Deleting it and saving the file will ensure that this mod package will be compiled next time you run Make.)

Add a new line below that and type ModEditPackages=MySecondMod.

http://i289.photobucket.com/albums/ll203/NickPfisterer/AddingANewConfigLine.jpg

You can add as many packages as you want in this fashion, but you can only work on one project at a time right? Simply put a ';' in front of every project that you DON'T want UTFrontEnd to compile, as seen below. This allows you to easily change which project you want to work on.

http://i289.photobucket.com/albums/ll203/NickPfisterer/CommentingProjectsOut.jpg

Once you've done that, save and exit the file. Your new project is now ready to run. But wait! What about your packages containing all your project's assets? Well, you could just put them in the UTGame > Content folder, but that could get cluttered and tedious very quickly. To avoid this headache, let's go back to UDK > UDK-2009-11 and create a new folder called MySecondMod.

http://i289.photobucket.com/albums/ll203/NickPfisterer/NewContentFolder.jpg

I believe you can use whatever directory structure you want from here, but for the sake of this tutorial, I'll be using the standard UTGame structure. Go ahead and add a new folder inside of MySecondMod and call it Content. In there, add another folder called Packages. This is a good place to add a Maps folder as well if you want to keep everything related to your project in one place. Place your packages inside of the Packages folder. Done? Ok. Now it's time to set up easy access to those packages from within the editor.

Open the UTEngine.ini file again, this time scrolling down to the [Core.System] section. Scroll through this section and look for a line that reads Paths=..\..\UTGame\Content. Add a new line below this one and type Paths=..\..\MySecondMod\Content.

http://i289.photobucket.com/albums/ll203/NickPfisterer/NewConfigLineForProjectContent.jpg

Save this out, and you're ready to go! Below is a screenshot of my results to show you how easily your packages can now be accessed within the editor.

http://i289.photobucket.com/albums/ll203/NickPfisterer/Results.jpg

I hope you guys have found this Quick Tip to be helpful. I look forward to seeing what exciting new games come out of this community. :)


Lunazure

Imperious
11-08-2009, 08:14 AM
Thanks for this, its greatly appreciated. I'm looking forward to your tutorials :)

Angel_Mapper
11-08-2009, 08:50 AM
It gets a bit more complicated than that when you start altering ini settings specific to your game in DefaultEngine and DefaultGame, and any of the Base ini files in the Engine folder. I would recommend separate installations for each project, and a separate clean installation as a reference point and backup.

acropole
11-08-2009, 08:54 AM
Thank you very much. Very usefull.
But I had a bug when I remove the ; before MyMod. The ; come back every time I launch the editor except if I add a second line with my own mod name and/or if I run the editor with -mod myOwnMod.

EDIT :
The utengine.ini is modified evry time the editor is laucnhed.
I tried without -mod myOwnMod and it's ok

EDIT 2 :

The package don't wotk for me :

C:\UDK\UDK-2009-11\Legions\Content

AsyncIOBandwidthLimit=0
CachePath=..\..\UTGame\Cache
CacheExt=.uxx
Paths=..\..\Engine\Content
Paths=..\..\Legions\Content <---------------------------------------------------
ScriptPaths=..\..\UTGame\Script
FRScriptPaths=..\..\UTGame\ScriptFinalRelease
CutdownPaths=..\..\UTGame\CutdownPackages


I found why : I copied a pack from ut in my folder and renamed it (because of ambigous names) and my folder is there.

Bael
11-08-2009, 12:35 PM
So every 'game' we make has to actually be a mod of the standard UTGame project? There is no "-game=GameName" capabilities (as detailed in the 'Game Name' section here: http://udn.epicgames.com/Three/DirectoryLayout.html)? Like someone mentioned above, that sounds like a huge headache once you start actually changing ini settings for each project.

marilol
11-08-2009, 12:48 PM
I'm thinking the folder for the game would be in c:/UDK.

I'll test that game name stuff tonight.

SpartanDonut
11-08-2009, 01:08 PM
I just copied the whole directory and will have each "mod" as a separate directory - keeping my orignial directory in its cleanest state so that I always have that original to go back to if I really screw something up.

This obviously uses more disk space, but I think it will be VERY easy to manage different mods / games to say the least.

geodav
11-08-2009, 02:55 PM
this is what i've been asking for, thank you very much

Xero
11-09-2009, 02:03 AM
I'll tried something similar to this but wasn't if I was doing it right lol.
Thanks Lunazure.

jelr86
11-09-2009, 02:41 AM
Hi, i want to create a separate folder to my project, because I want to create a different game mode (third person camera), so, I read http://udn.epicgames.com/Three/DirectoryLayout.html)?, but I don't understand how to change the default game project, anybody could help me please, thanks

musichopper
11-10-2009, 08:48 PM
I was wondering if this would work.. makes good sense.. Thanks!

zipstick
02-02-2010, 10:04 AM
Sweet and easy to use tutorial!

eh_gm
02-27-2010, 08:54 AM
I done exactly the same,But every time cooking crashed.These Lines are from Log file:
.
.
.
Log: There are 3 levels to process
Critical: appError called: Assertion failed: SrcFilename.StartsWith(RootDir) [File:c:\depot\UnrealEngine3\Development\Src\Unreal Ed\Src\UnContentCookers.cpp] [Line: 5649]

Stack: Address = 0x0 (filename not found)

Critical: Windows GetLastError: The parameter is incorrect. (87)
Log: === Critical error: ===
Assertion failed: SrcFilename.StartsWith(RootDir) [File:c:\depot\UnrealEngine3\Development\Src\Unreal Ed\Src\UnContentCookers.cpp] [Line: 5649]

Stack: Address = 0x0 (filename not found)


Address = 0x7c812aeb (filename not found)
Address = 0x7857dbf9 (filename not found)
Address = 0x5d3041 (filename not found)
Address = 0xe8785ad2 (filename not found)

Exit: Executing UObject::StaticShutdownAfterError
Exit: Executing UWindowsClient::ShutdownAfterError
Log: Shutting down FaceFX...
Log: FaceFX shutdown.
Exit: Exiting.
Log: Log file closed, 02/27/10 16:16:40

I have tested with Dec 2009 and Jan 2010 packages.

xcarface
04-15-2011, 11:22 PM
Now it's time to set up easy access to those packages from within the editor.

Open the UTEngine.ini file again, this time scrolling down to the [Core.System] section. Scroll through this section and look for a line that reads Paths=..\..\UTGame\Content. Add a new line below this one and type Paths=..\..\MySecondMod\Content.

http://i289.photobucket.com/albums/ll203/NickPfisterer/NewConfigLineForProjectContent.jpg

Save this out, and you're ready to go! Below is a screenshot of my results to show you how easily your packages can now be accessed within the editor.

http://i289.photobucket.com/albums/ll203/NickPfisterer/Results.jpg

I hope you guys have found this Quick Tip to be helpful. I look forward to seeing what exciting new games come out of this community. :)


Lunazure

Lunazure, thanks for the cool tip. I am using UDK-2011-04 Beta, do you know how to setup easy access to packages from the editor for this version? Also do I have to create the packages before doing this? for example open the editor and load the assets then save them in their corresponding folders. Thanks in advance!