Did you know? Every one of these messages is hand-typed live, just for you.

UnrealEd ProTips Thread

For questions and discussion about UnrealEd, UnrealScript, and other aspects of Unreal Engine design.

Moderators: ividyon, Semfry, zYnthetic

User avatar Buff Skeleton
>:E >:E
Posts: 4039
Joined: 15 Dec 2007, 00:46

Subject: UnrealEd ProTips Thread

Post Posted: 27 Aug 2011, 20:36

I figured we could use a list of handy UED functions and tips compiled all in one place. Post your tips and I'll add 'em to the big list. Note that this is not a tutorial, just useful things you can do with UED that aren't so well known (more info is better, so if something seems obvious, it can still go on here).

Help me flesh this out! Note that we'll probably need icons or something to indicate which UED version we're talking about for some of these in the near future.

Feel free to ask questions!

Useful Hotkeys

  • Ctrl + W ................ = Duplicate
  • Ctrl + L ................. = Save level
  • Del ........................ = Delete
  • B ........................... = Show/hide the builder brush
  • Q ........................... = Purge selected texture from map
  • Shift + Click ......... = Select brush from surface
  • Alt + Click ............ = Apply current texture to clicked surface
  • Alt + Right Click ... = Make clicked surface's texture the current texture
  • Ctrl + Alt + Click ... = Applies texture AND alignment of alt+right clicked surface's texture to the current texture
  • Ctrl + I ................. = Insert segment in 2D Shape Editor
  • Ctrl + C ................. = Copy selection
  • Ctrl + V ................. = Paste selection (you can also copy/paste to and from Notepad)
  • Shift + T .............. = Select all matching textures
  • Shift + B .............. = Select all textures on brush
  • Shift + J .............. = Select all adjacent surfaces
  • Shift + W .............. = Select all adjacent wall surfaces
  • Shift + C ............... = Select all coplanar surfaces
  • Shift + F ............... = Select all adjacent floor surfaces


Selection

  • Hold ctrl + alt and drag the mouse in any 2D Viewport. You'll get a resizable marquee that selects all visible actors in its area.
  • Enter ACTOR SELECT OFSUBCLASS CLASS=<CLASS> into UED's command bar. This will select all actors of a given type. Just replace <Class> with a class name, such as ScriptedPawn or NavigationPoint.
  • Enter SET ACTOR BHIDDENED FALSE into UED's command bar to display all actors in a map, including things like InventorySpots.
  • Use Groups! If you have a lot of similar actors, especially lights, group them.
    • Use good naming conventions for groups to keep everything organized. You'll thank yourself when you need to make changes to hundreds of actors all at once with a single selection.
    • Block off large chunks of a map and group them like BSP-Area1 and BSP-Area2 or so. This enables you to turn on and off whole chunks of the map, making rebuilds MUCH faster.
    • Example: I name my groups like L-CrystalIncidence and L-CrystalMain and L-CrystalCorona so I know that all of the above lights are for, say, Tarydium Crystals, and I can easily select the low-radius NonIncidence lights or the coronas or the larger-radius ambient lights with ease.
  • UED's Search button: use it! You can list all actors in a map or list only a specific kind, and even search by Event and Tag.


Positioning

  • Manual Location: to fix just-off-the-grid problems, go to the object's Properties > Movement > Location and set your values as you see fit, or set everything to 0 if you need to reset the location.
  • Alternatively, right click and Reset > Move to Origin or Reset All. The latter will also reset rotation.
  • For brushes, right-clicking any vertex will snap that vertex to the grid.
  • Select a brush, then right click somewhere and go to Pivot > Place Pivot Snapped Here to create a new artificial pivot for movement or rotation. You can also add an unsnapped-to-grid pivot with Place Pivot Here.
  • Go to Properties > Advanced and set bEdShouldSnap to True to make any actor snap to the grid. You may need to move it to the origin before it is properly aligned to the grid, though.


Rotation

  • Manual Rotation: 360 degrees = 65536 rotational units in UED, so 90 degrees would be 16384, 180 would be 32768, etc. 270 degrees = 49152 OR -16384.
  • To reset rotation, go to Properties > Movement > Rotation and set every value to 0.
  • Alternatively, right click and Reset > Reset Rotation or Reset All. The latter will move the object to the origin AND reset its rotation.
  • Is your object rotated in some odd way? Having trouble getting it how you want? You can circumvent rotational issues by making your current rotation the default in one of two ways:
    1. Right click and Transform > Transform Permanently. This makes the current rotation the "default" and resets its values to 0 without changing the position of the object. Note that for brushes, this will reset all texturing you've done. To get around this, try Method 2:
    2. Make a builder brush that encompasses your geometry, and reset the builder's rotation. Then, Intersect or Deintersect your original brush, delete the original, add or subtract the intersected brush. The new brush will have reset rotation and the original texturing. Note that this can destabilize geometry, so do it sparingly!
  • Need to align brushes to a 5- or 12-sided cylinder (or something that doesn't have 2^n sides)? Manually rotate.
    Example: You have a 5-sided tower and need to put windows on it.
    1. Position your first window on the side of the cylinder that does not require any custom rotation.
    2. Select your window brush, right click the origin of the cylinder, and go to Pivot > Place Pivot Snapped Here. You can now rotate the brush around this pivot.
    3. Alternatively, duplicate the window and reposition it. Make a builder brush at the center point of the cylinder, then move it and the copied window into an open space. Rebuild, then intersect the window. The window's origin should be offset so it matches the cylinder's origin when the window is in position. This will produce a permanent offset (unlike Place Pivot Snapped Here).
    4. Duplicate the window. Divide 65535 by 5, giving you 13107. Enter this as a Yaw value, and it will align perfectly to one of the sides.
    5. Duplicate again. For the next, simply double 13107 to 26214.
    6. To match the other two remaining sides, use -13107 and -26214. The fifth side should already be aligned to the grid. You should now have a 5-sided tower with a window perfectly aligned on each side.
  • Get in the habit of using correct world rotation for your brushes. This makes it easier to change the layout of an entire map later on without causing some brushes to rotate in one direction while others go somewhere else.
    Example: A 128x512x128 hallway, with reset rotation, runs North-South. Let's say you want it to run East-West. Instead of rotating the brush 90 degrees, change the values to 128x128x512. Now it's East-West. Do this enough and you won't have to do anything fancy later on if you need to rotate that hallway and all the brushes inside it 90 degrees since the rotation is technically the same for every brush.


Brushwork

  • Warning: Advice about how to build stable geometry varies wildly, and different pieces of advice affect different maps in different ways. Consider this section only a rough guide to making stable geometry!
  • Pay attention to your nodecount! 65536 is the theoretical maximum node limit for UE1, but in reality, your map will start becoming much less stable way before then. A good upper limit to aim for is 40,000 nodes. This gives you some buffer room up to 50,000 before things really go to hell. Ideally, you should be done with your map well before 40,000. Over 55,000 and you are very likely to have the editor crash during rebuilds.
  • NEVER let Semisolids touch Nonsolid geometry, especially zone portals.
  • Avoid using Semisolid geometry at all if you can, even for sheets. Save Semisolids for very specific situations. Zone portals must always be nonsolid, however.
  • Semisolids that intersect Semisolids can create null zones which contribute to your Zone Limit of 64. Check your map in Zone/Portal View for any brown sectors; these are usually nestled underneath Semisolid brushes where they intersect the world edges or other Semisolids. Move these brushes or make them Solid to overcome this.
  • Use the command ACTOR ALIGN to snap all vertices of a brush to the grid. Be sure you actually WANT all vertices to be snapped, though (don't use it on anything made by the Cylinder Builder, for example). Also, due to rounding errors in UED, this can sometimes result in vertices being just barely off the grid, which is only visible when zoomed all the way in. Your mileage may vary, but this is still a useful command.


Lighting

  • Light Period under Properties > Lighting affects how fast a dynamic light animates.
  • Light Phase affects a dynamic light's animation time offset.
    Example: If you have two pulsing lights next to each other, you can have them alternate by setting one of them to have a Light Phase of 128. The full cycle of any given light animation is 255, so 128 is half way through.
  • UED has a color picker for Lights you can use if you're unfamiliar with the values or are just lazy. Go to Properties > Light Color and click the Color button. Uses Windows' built-in (lame) color picker to get RGB values!


Texturing

  • The command TEXTURE CULL will remove all unused textures on non-visible surfaces from a map. WARNING: Using this on hidden brushes/groups will purge their textures as well. Only use after a full rebuild as a finishing touch for best results!
  • Alt + Right Click a surface in the map. This will make that surface's texture your current texture. Next, Alt + Click another surface. It will apply the current texture to that surface. This can save a lot of time when you need to apply already-used textures in a map to other locations. No texture browser needed!
  • When panning textures, select all that should be aligned, align them to Wall Direction and Wall Pan, and then start panning. Deselect textures one at a time as they are lined up. This way, you don't have to keep selecting and panning textures individually, and the group stays a roughly the same texture position as you work through it.
  • Got a huge terrain brush that's impossible to align manually? Rotate it 90 degrees onto its side and align all the walls to floor. Rotate the brush again 90 degrees on a different axis and repeat. Restore the rotation, and bam: your cliffside walls will all be aligned! Beware stretching for edges that are too sharp.
  • Quick/Lazy Unconventional Alignments: In the Surface Properties window, on the Alignment tab, check off Relative and set one of the dimensions to 1 and the other to 0.99 or 1.01, then hit Apply repeatedly until the texture is positioned as you like it.
  • The command POLY TEXSCALE UU=# VV=# VU=# UV=# can skew textures. Fill in the #'s with numbers; negatives and decimal fractions are widely used here.


2D Shape Editor

  • Right click and drag to move your view around. Note that if you move too much you can wind up permanently lost due to a bug! If that happens, close and reopen the shape editor or create a new shape.
  • Hold ctrl to select multiple vertices. If you have multiple vertices selected, clicking the Bezier Curve button or inserting a new vertex will apply the action to all selected segments.
  • For Bezier Curves, you can change the number of segments in a single curve by right clicking on the segment and going to Segment > Detail Level and choosing a number or putting one in Custom.
  • To line up shapes to a door frame from a texture, Alt + Right Click a surface or select the texture you want in the texture browser, and then go to File > Image > Get from Current Texture. You can now easily place vertices on the edges of the frame.


Navigation Points

  • Right click on a viewport and go to View > Show Paths to see all Navigation Point linkages. Blue lines represent connected paths, while red lines represent paths that have LOS but do not properly link for AI purposes. Navigation Points without paths are either too far apart or unlinkable for other reasons.
  • Teleporter Setup: Source Teleporter's URL field should link to Destination Teleporter's Tag. When triggering Teleporters to enable or disable them, make the Tag for both Teleporters identical, but only fill in the URL for the Source.


UE1 Engine Limits

  • World Dimensions: 65534 x 65534 x 65534 (Visible world border. Exceeding this may be possible, but definitely is not recommended.)
  • Node Limit: 65,536 (theoretical), 45 - 55,000 (practical)
  • Zone Limit: 64. Exceeding this will cause some zones to merge together, which can result in an entire map being underwater or something dumb like that. Note that poorly-used semisolid brushes can create null zones that contribute to this limit.
  • Mover Vertex Limit: <need info> It's pretty high and unlikely to be reached by any normal level, but too many highly-complex movers with hundreds of vertices can crash UED.
  • Maximum size for any linked list (Level.PawnList, Level.NavigationPointList, etc): 1116. This means you cannot have more than 1116 Pawns or 1116 Navigation Points in one map at any given time without running into problems (i.e. crash to desktop without error messages when saving). Note that you can have an infinite number of pawns in a level so long as 1116 never exist in total when you save.


Further Reading: References, Tutorials, Editing Advice, etc.

Last edited by Buff Skeleton on 17 Sep 2011, 19:06, edited 54 times in total.
Image

User avatar Frieza
Skaarj Warlord Skaarj Warlord
Posts: 917
Joined: 16 Nov 2007, 15:05

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 27 Aug 2011, 21:02

Wow.. I never knew about bezier detail levels...

Also.. Alt + Rightclick on a surface makes the texture on that surface the active texture. So you can Alt + Right Click on a piece of floor, and then Alt + Left Click on the piece of floor next to it and they'll both have the same texture :o

User avatar Buff Skeleton
>:E >:E
Posts: 4039
Joined: 15 Dec 2007, 00:46

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 27 Aug 2011, 21:17

I can't BELIEVE I didn't know about the alt+right click thing. I only discovered the alt+click thing just now while experimenting, and I also discovered the Pivot > Add Pivot Snapped Here thing. MIND BLOWN.

No need for all this intersecting bullshit! Just place pivots wherever the hell you want. Damn. DAMN!

Keep the protips coming folks
Image

User avatar Semfry
Trustee Member Trustee Member
Posts: 1974
Joined: 12 Nov 2007, 02:43
Location: UK
Contact:

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 27 Aug 2011, 21:52

I'll put a modified version of what I told Lightning Hunter in the RTNP conversion thread:

At the bottom of this guide by Hourences is a note about disabling BSP optimisation for rebuilds: http://www.hourences.com/tutorials-ue1ue2-bsp/

As it says you gain a tiny amount of polygons (by today's standard) but end up with less BSP errors. From what I've seen so far the difference is so small there's little reason not to do it, although there may perhaps be a few levels where there's a notable performance difference.
Formerly Mman

User avatar integration
Skaarj Berserker Skaarj Berserker
Posts: 445
Joined: 01 Sep 2010, 12:37

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 27 Aug 2011, 22:45

Ctrl + C / Ctr + V This combination is surely more known than Ctrl + W, but I still want to mention it. Copying and pasting is a little bit different to duplication. It doesn't check collision, so it sometimes works, when duplication fails. And Actors will keep their tag. IMHO biggest disadvantage is, that copied actors will get a new z-Value. You can use this combination too for copying and pasting actor properties.

ACTOR ALIGN Align all vertices to your current grid. Be sure that your pivot is on the grid when typing it in the command bar.
Waffnuffly wrote:Hold alt and drag the mouse in any 2D Viewport. You'll get a resizable marquee that selects all visible actors in its area.

Is that only my German keyboard, but I have to use Alt Gr (which should be equivalent to Alt + Ctrl) to drag a box in the Camera Movement or Vertex Editing tool.

User avatar Buff Skeleton
>:E >:E
Posts: 4039
Joined: 15 Dec 2007, 00:46

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 27 Aug 2011, 23:03

integration wrote:Is that only my German keyboard, but I have to use Alt Gr (which should be equivalent to Alt + Ctrl) to drag a box in the Camera Movement or Vertex Editing tool.

OH WHOOPS I forgot it's ctrl+alt, not just alt. I'll fix that, thanks! And also Actor Align is great, can't believe I forgot that one!

Gonna add more sections for texturing, lighting, brushwork, etc. in a little bit.


integration wrote:Ctrl + C / Ctr + V This combination is surely more known than Ctrl + W, but I still want to mention it. Copying and pasting is a little bit different to duplication. It doesn't check collision, so it sometimes works, when duplication fails. And Actors will keep their tag. IMHO biggest disadvantage is, that copied actors will get a new z-Value. You can use this combination too for copying and pasting actor properties.

Copy/pasting in UED can be dangerous because it copies everything about the actor, sometimes even including its instance name. If you copy SkaarjWarrior0 and paste it, you might end up with SkaarjWarrior0 and SkaarjWarrior0. This can cause all sorts of bullshit. I've been there, and believe me, it is not fun to deal with.

Duplication is much better in the long run! Be careful if you copy/paste! Verify the instances have changed and you don't have duplicates, especially if you copy pawns. Other actors and brushes aren't such a big deal.
Image

User avatar UBerserker
Nali Priest Nali Priest
Posts: 7423
Joined: 11 Nov 2007, 21:00
Contact:

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 27 Aug 2011, 23:34

Oh so I shouldn't have problems if I'm copying generic decorations between maps.
Image

User avatar Buff Skeleton
>:E >:E
Posts: 4039
Joined: 15 Dec 2007, 00:46

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 27 Aug 2011, 23:45

UBerserker wrote:Oh so I shouldn't have problems if I'm copying generic decorations between maps.

I'd still avoid it, but you'll probably be ok. It's safer in the long run to just place new actors and then duplicate them.


I also added a section for engine limits. There's plenty of those, so help me remember the ones I'm forgetting!
Image

User avatar Frieza
Skaarj Warlord Skaarj Warlord
Posts: 917
Joined: 16 Nov 2007, 15:05

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 27 Aug 2011, 23:46

A useful texture align tip for precision alignment (or alternatively, if you're too lazy to do maths): in the texture alignment window check the relative box and put in U = 1 and V = 0.99/1.01 (or the other way around depending on which plane needs to be stretched/shortened) and keep clicking apply till the texture is aligned perfectly on the surface. This is great for brushes with unorthodox sizes like 88 by 240 or something. (and slanted trims)

User avatar ebd
Trustee Member Trustee Member
Posts: 428
Joined: 05 Apr 2008, 19:08
Contact:

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 28 Aug 2011, 01:38

How did I not know about some of this stuff? I feel like a scrub.

When selecting textures shift-t and shift-j are ones I use a lot but I think they are pretty well known. (all matching texture and all adjacent surfaces)

Image
Replace Textures only allows for one texture to be replaced at a time but I guess it might still be helpful.

About the alt-click surface stuff, if you ctrl-alt-click a surface it not only applies the current texture but the alignment of the surface that was alt-right clicked. Kind of neat when you apply the alignment of a horizontal surface to a vertical surface.

Not sure how UE1 or UE2 handles copy/pasting, but in UE2.1 objects are renamed when copied and pasted and any references to them adjusted. (example: copy/pasting an eightball will result in the "new" eightball being Eightball0 while the "old" ones will be renamed)

User avatar Buff Skeleton
>:E >:E
Posts: 4039
Joined: 15 Dec 2007, 00:46

Subject: Re: UnrealEd Pro Tips Thread

Post Posted: 28 Aug 2011, 01:45

ebd wrote:Not sure how UE1 or UE2 handles copy/pasting, but in UE2.1 objects are renamed when copied and pasted and any references to them adjusted. (example: copy/pasting an eightball will result in the "new" eightball being Eightball0 while the "old" ones will be renamed)

I actually checked this out and it does that in UED2 as well, but I've definitely wound up bricking entire maps because of copy/pasted monsters. To be fair, this was in an absurdly overcomplex EXU2 map so, yeah. Probably my fault. Similarly, I have a feeling only EXU2 maps could ever even come close to breaking the Linked List limit of 1116, which... I did break, once so far. It took UArchitect and I weeks to figure that one out. :I
Image

User avatar TheIronKnuckle
Gilded Claw Gilded Claw
Posts: 1964
Joined: 12 Nov 2007, 07:21
Location: Riding my bicycle from the highest hill in Sydney to these forums

Subject: Re: UnrealEd ProTips Thread

Post Posted: 28 Aug 2011, 03:51

I can't understand why there would be a limit on linked lists. If you're talking about a node limit of 1116 per list that's ludicrous. Not sticking my head in the sand and disagreeing with you, I'm just saying; wtf?!? If you're saying that you can only have 1116 linked lists, each with as many nodes as they need that's more realistic.

and 1116??? lololmao! epic were crazy back in the day :P
ImageIgnorance is knowing anything
And only idiots know everything

User avatar Buff Skeleton
>:E >:E
Posts: 4039
Joined: 15 Dec 2007, 00:46

Subject: Re: UnrealEd ProTips Thread

Post Posted: 28 Aug 2011, 05:45

TheIronKnuckle wrote:I can't understand why there would be a limit on linked lists. If you're talking about a node limit of 1116 per list that's ludicrous. Not sticking my head in the sand and disagreeing with you, I'm just saying; wtf?!? If you're saying that you can only have 1116 linked lists, each with as many nodes as they need that's more realistic.

and 1116??? lololmao! epic were crazy back in the day :P

I think it's more of an engine bug that never got unearthed until now, and that's only because I had over 1500 navigation points in one of my maps :P Every time I saved, it crashed to desktop. Once we reduced the count below 1116, it worked. Not sure WHY it's 1116, but it is. And it definitely is 1116 nodes PER LIST, not 1116 lists.

UA discovered this with Decals, actually, since we use linked lists for EXU's decals. I originally discovered there was a bug at all when I cranked my MaxDecals up from 1000 to 2000 or so after getting a new video card, but quickly discovered that you couldn't save after a certain point. UA tested this by adding like 1000 decals and saving, adding another 1000 and save-crashing, then trying 1500 decals, then 1250, then 1100, and so on. He got to the point where adding decal 1115 saved, but decal 1116 crashed. We eventually figured out it wasn't decal-related at all, but was the engine. He reproduced it multiple times, and so did I, and we confirmed the engine bug. The navigation point reduction in Map 19 just reinforced our findings.

I was actually gonna post a thread about it but never bothered. Here's a more detailed writeup about how we found it (it's the last one, #10): http://waffnuffly.wordpress.com/2011/04 ... ment-hell/

Try it out. Add 1115 navigation points, save, and then add a 1116th nav point and enjoy your crash :)

[Edit] Interestingly enough, I just did a test by adding 1115 Nali to a map and it crashed every time I saved, even if I reduced the count to 1110. It wasn't until I reduced it to 1100 that I was able to save again, but when I summoned them back manually, I couldn't get it to crash. I wonder if pawns spawned in post-launch count toward the level pawn list? Maybe it does something different for them. Either way, 1000+ active pawns in a single map is not such a wise idea!
Image

User avatar UBerserker
Nali Priest Nali Priest
Posts: 7423
Joined: 11 Nov 2007, 21:00
Contact:

Subject: Re: UnrealEd ProTips Thread

Post Posted: 28 Aug 2011, 08:19

I had the Maximum Pawn Amount bug with one of the G59 conversions, due to having 1000 monsters in the map. Had to eliminate a massive number of them because the map somehow could still crash upon saving.

Also there's the bug with the slowdowns caused by translucent sprites overlapping.
Image

diamond
Skaarj Berserker Skaarj Berserker
Posts: 366
Joined: 13 Nov 2007, 10:51
Location: ROFLand
Contact:

Subject: Re: UnrealEd ProTips Thread

Post Posted: 28 Aug 2011, 09:45

Waffnuffly wrote:A 128x512x128 hallway, with reset rotation, runs North-South. Let's say you want it to run East-West. Instead of rotating the brush 90 degrees, change the values to 128x128x512. Now it's East-West. Do this enough and you won't have to do anything fancy later on if you need to rotate that hallway and all the brushes inside it 90 degrees since the rotation is technically the same for every brush.

Alternatively, you can mess with brush rotation as much as you want, just don't forget to perform Transform - Transform permanently after all.
Image
UBerserker wrote:Architecture doesn't need to detailed, it just needs to be right.

Next

Who is online

Users browsing this forum: No registered users and 1 guest