# UnrealEd Quick Reference

Audience: Level Designers
UnrealEd undergoes rapid changes so this document may not be up-to-date.
Last Updated: 06/30/99

### Having problems starting UnrealEd?

If you're having problems starting UnrealEd, please install the UnrealEd Fix 4 -- this eliminates the "Runtime Error 50003" messages and some other frequently-reported problems starting UnrealEd. Try it!

### Particle Systems

1. Here's how to create particle systems in Unreal.
2. Create and animate a mesh. The process for creating particle system meshes is identical to that for regular creature/weapon meshes (create triangle meshes, make sure they're scaled properly, import them into Unreal using the normal procedure). Texture coordinates and textures don't matter, however. When Unreal renders a particle system, it will draw a scaled sprite at each VERTEX in your animated mesh. So, the mesh triangles don't matter at all for rendering, just the vertices. Since particles are based on mesh vertices, particles cannot be created or destroyed during an animation.
3. Assign the mesh to an actor class. Set the following default properties:
   - Style = How you want the particles to be rendered:
     STY_None (Invisible)
     STY_Normal (Normal solid particles)
     STY_Masked (Masked particles)
     STY_Translucent (Translucent particles)
     STY_Modulated (Modulated particles, i.e. dark smoke)
   - Texture = The texture map you want rendered for the particle sprites. They're all rendered with the same exact texture!
   - Mesh = The mesh to use for generating particle vertices.
   - DrawScale = How much to scale the particle sprites by.
   - bParticles = True.

See the DispersionAmmo.uc script and its corresponding little particle effect Spark3.uc for an example of a cool particle system. It's the projectile for Unreal's default weapon. Note how Spark3t uses STY_Translucent, and then fades the particles from full brightness down to nothingness by modifying ScaleGlow and AmbientGlow in the Tick() function.

### Suggestions for making maps run faster

Here are some fairly straightforward tricks that can be implemented in existing maps. These are worthwhile enough that I recommend going back and applying them to existing maps, in the worst-performance areas where you need a speed boost. The areas that are noticeably slow are the large outdoor areas where you see buildings from the outside, and areas which use a lot of dynamic light.

- When you have a huge outdoor area, have as few far-away meshes in view as possible. Type "STAT MESH" and look at the "MESHCOUNT=xxx" number to see how many meshes are in view. About 50% of the CPU time required to draw a mesh is irrespective of its size, so if you have a gun lying on the ground a mile away, but it's visible, even though it might only take up 1 pixel on the screen, it takes several milliseconds for the engine to perform lighting, transformation, and teeny polygon rendering on it. For example, in walking along the ridge in Bluff, the MESHCOUNT is 6, though I was only aware of one mesh (the Nali). It turns out that there's a transparent window, and two meshes visible through the transparent window, and three meshes somewhere else (not sure where).
- In the huge levels that combine indoors and outdoors, like Bluff, where you want to have transparent windows that players can see out of, use this one-way transparency trick: Add a semisolid cube brush for the window; make the inside face transparent and one-sided; and make the outside face non-transparent and one-sided. This way, players inside can see out, but players outside can't see in. This noticeably speeds up maps when the player is on the outside, looking in.
- If you have a lot of dynamic lights in an area, and you don't mind extremely fuzzy (low detail) shadows, use the "super low shadow detail trick": If you select both "low shadow detail" and "high shadow detail" on a surface together, the engine uses a special "super low shadow detail" mode which is 4X faster for dynamic lighting. Since this makes the shadows extremely fuzzy (which looks weird sometimes), this isn't a good trick to use all over the place -- it's just for the areas where you want to have a LOT of dynamic light, or dynamic light in huge outdoors areas.

### Stupid UnrealEd Tricks

These are things people needed but I didn't have time to create proper user interfaces for:
To align textures as floors (like for the ground in Pancho's hubs) AND scale them up, do this:
1. Select the polygons.
2. Do the normal "align as floor" thing.
3. In the log window, type: POLY TEXSCALE RELATIVE UU=2.0 VV=2.0
The above command scales them up by a factor of 2.0. You can scale them up or down by different amounts by plugging in different numbers, for example: POLY TEXSCALE RELATIVE U=0.5 V=0.5

If you have a super-huge outdoor area and you want even lower shadow detail than normal, you can check both the "Low Shadow Detail" and the "High Shadow Detail" options. UnrealEd recognizes this as a special combination that means "Superduperultralow shadow detail".

### Special mouse clicking combinations

- A + right mouse click: Add actor there.
- L + right mouse click: Add light there.

### Shortcut keys

- Delete: Delete selected actors.
- 1, 2, 3: Slow, medium, and fast movement speed.
- F1: Help.
- F4: Actor properties.
- F5: Surface properties.
- F6: Level properties.
- F7: Compile changed scripts.
- F8: Rebuilder.
- B: Toggle brush visibility in the current viewport.
- H: Toggle actor visibility in the current viewport.
- P: Toggle player controls or realtime update of the viewport.
- Shift-A: Select all actors.
- Shift-B: Select all surfaces belonging to the selected surfaces' brushes.
- Shift-C: Select adjacent coplanar polygons.
- Shift-D: Duplicate selected actors.
- Shift-F: Select adjacent floors.
- Shift-G: Select surfaces belonging to the selected surfaces' groups.
- Shift-I: Select surfaces with items matching the selected surfaces' items.
- Shift-J: Select all adjacent surfaces(flood-fill).
- Shift-L: Look ahead in the current viewport (no pitch or roll).
- Shift-M: Memorize selected surfaces.
- Shift-N: Select none.
- Shift-O: Select surfaces from intersection of selected surfaces and memory.
- Shift-P: Select all surfaces.
- Shift-Q: Reverse the set of selected surfaces.
- Shift-R: Recall memorized surface selection.
- Shift-T: Select all surfaces which use the current texture.
- Shift-U: Select union of selected surfaces and memorized surfaces.
- Shift-W: Select adjacent wall surfaces (flood-fill).
- Shift-X: Select exclusive or of selected surfaces and memorized surfaces.
- Shift-Y: Select adjacent slanted surfaces.
- Shift-Z: Select none.
- Ctrl-A: Add brush to world.
- Ctrl-B: Load brush.
- Ctrl-C: Copy.
- Ctrl-D: Deintersect brush with world.
- Ctrl-E: Save as.
- Ctrl-L: Save level.
- Ctrl-O: Load level.
- Ctrl-P: Play level.
- Ctrl-N: Intersect brush with world.
- Ctrl-R: Redo.
- Ctrl-S: Subtract brush from world.
- Ctrl-V: Paste.
- Ctrl-W: Duplicate.
- Ctrl-X: Cut.
- Ctrl-Z: Undo.

### End