Gah - a solution with more questions. – EntropicLqd
Legacy:Actor Properties Window
This is a floating window in the UnrealEd Interface that lists all the properties of any currently selected actor or actors. Each section heading can be expanded or collapsed by clicking on the small + or - next to the name. Some properties themselves contain several values and are expandable, eg colors, vectors, and also embedded actors.
Most of the headings are common to all actors; this is because they are defined in the script for the Actor class and inherited by all subclasses. Many of them are not relevant to a particular given class, for instance the properties under Actor/Collision are not used with Light actors. These common properties are explained on the Actor class page.
When several actors are selected, this list will only show property names they have in common. If no actors are selected, the list window will simply be blank. The window is always in sync with the currently selected actors, and changes to properties apply immediately.
It can be opened in any of the following ways:
- click the button on the toolbar
- press F4
- Do UnrealEd Main Menu -> View -> Actor Properties
- Do Actor Context Menu -> <classname> properties
To quickly see how a particular actor's properties differs from the defaults for that class, copy it and then paste into a text editor. Only the properties that are different to the defaults are listed. This can be handy when looking at someone else's map to see how an effect has been achieved.
- Other tips: UnrealEd Tips
Two other windows look exactly like this one, but are only opened from the View menu:
The Surface Properties Window is totally unrelated to this window, but the buttons for both are side by side on the toolbar.
Some variables are not displayed in this window. They could be part of a property group concealed with the hidecategories class syntax, or a hidden variable (i.e., those defined with "var" instead of "var()" variable syntax).
WARNING Altering some properties of certain actors, especially the bStatic property, may cause your map to fail in network play. You're better off making a subclass if you want to attach a Light to a Mover and have the map work properly in network play. UnrealEd will balk at you if you alter the default bStatic value of any actors, and clients will likely crash out of network play.
There are a few different ways to edit these hidden properties:
Method 1: The EditObj Console Command
- Look up the Actor's object name. It is stored in the (non-editable) Object -> Name property. Normally, a Actor's object name is along the lines of "Actor443" (that's "Actor" plus a number).
- In the UnrealEd console, enter "editobj Light443" (substitute "Light443" with the object name of your Actor). This will pop up another window very similar to the normal actor properties window.
- Values you couldn't normally set will show up in the editactor window under the "None" category. Unlike the main Actor Properties Window, this new window is permanently fixed to the actor it was opened for.
Note that you can only edit "hidden properties" in this manner. You cannot edit categories hidden with the hidecategories class syntax.
Method 2: The Set Console Command
- To set a particular variable, you can use
set <class> <variable name> <setting>
- However, this will set that variable on ALL versions of that Actor (or any actors of this actor's class' subclasses) in the map. It also affects the default value of that variable in the actor's class and any of its subclasses.
Method 3: Copy-And-Paste
- In some versions of UnrealEd, you cannot use the "EditObj" command. If you want to change that variable without affecting all other Actors of that class, then you can use the Copy-And-Paste method.
- In the editor window, highlight the Actor or Actors in question.
- Select Edit -> Cut.
- Open your favorite text editor and create a blank file.
- Paste the contents of the clipboard into that file. You'll end up with something like this:
Begin Map Begin Actor Class=Spotlight Name=Spotlight1 bDynamicLight=True bNetDirty=True LastRenderTime=448.986694 Tag="Spotlight" Level=LevelInfo'MyLevel.LevelInfo0' Region=(Zone=LevelInfo'MyLevel.LevelInfo0',iLeaf=1403,ZoneNumber=2) PhysicsVolume=DefaultPhysicsVolume'MyLevel.DefaultPhysicsVolume23' Location=(X=-1520.892090,Y=-22217.167969,Z=-3488.283203) Rotation=(Pitch=-32636,Yaw=147568,Roll=-9544) AttachTag="train" bMovable=True LightBrightness=255.000000 bSelected=True Name="Spotlight1" End Actor Begin Surface End Surface End Map
Now you can edit whatever properties you want as if you were editing an inline object in UnrealScript. Simply add "bStatic=False" or whatever property you're trying to edit between the Begin Actor/End Actor lines. Select all the text and copy it to the clipboard, then go back to UnrealEd and Edit -> Paste -> To Original Location. UnrealEd places actors exactly 32 units off per axis, so you'll have to tweak its position.
If All Else Fails
If none of the above methods work for you, you will have to subclass the actor using UnrealScript, and add in the new value in the new class's DefaultProperties. You cannot do this in UnrealEd, since the properties you're trying to change are hidden, so you'll have to actually make a new package. After you do that, add the new package to your EditPackages in [Editor.EditorEngine], start up UnrealEd once again, and place the new actor.