Wednesday, September 11, 2013

How to change UDK object properties on the fly

So what I didn't know until now is that UDK comes with a Remote Control for use when developing. This is something that will without doubt save me hours as before now it would be a case of tweaking a value, then recompiling then tweaking and recompiling over and over again, which can very quickly remove you will to live.

You can edit the properties of any object that derives from the Actor class using the editactor console command:

 editactor name=UTPawn_0

Also worth noting that if you pass trace as a param then this will display the properties of the object you are aiming directly at

editactor trace

As mentioned in the Gameplay Debugging page, this is ideal for something like fine tuning a vehicle but I guess you could go as far as tuning the lighting or pickup placements.

There are a few other commands available such as EditObject:

The editobject console command makes the properties of a specific object in the game available in the property window
editobject name=GameThirdPersonCamera_0

The editdefault console command makes the properties of a class default object available, similar to specifying a class with the editobject console command

editdefault UTProj_LinkPlasma
editdefault class=UTProj_LinkPlasma

The editarchetype console command makes the properties of an archetype available. The archetype to edit is specified by passing the path (Package.Group.Name) to the archetype following the command. Like the editdefault command, this command is also extremely useful for archetypes that are used as templates for objects that are frequently spawned, such as projectiles or units in a real-time strategy game, or for archetypes used as data definitions or content holders.
There's lot of other information in there too from data inspection to code profiling, as always the docs are there you've just got to know what you are looking for at the time.