UE2:ZoneInfo (UT2004)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to navigation Jump to search
UT2004 Object >> Actor >> Info >> ZoneInfo
Known custom subclasses:
Crusha/DynamicWeather, Crusha/DynamicWeather/DWZoneInfo, Crusha/UltimateMappingTools, Crusha/UltimateMappingTools/UltimateSkyZoneInfo, Wormbo/SelectableSkyZoneInfo
S ZoneInfo.png

ZoneInfo actors are used to set properties of zones that are different from the global level properties as defined in the map's LevelInfo. Like Volumes, ZoneInfos can be used to assign names to areas of the map, and like a PhysicsVolume a ZoneInfo can apply an audio environment (an I3DL2Listener) to this area.

Additionally, zones and their ZoneInfos play an important role in level optimization. The ZoneInfo properties bLonelyZone, ManualExcludes and Actor.Tag (in combination with Actor.ForcedVisibilityZoneTag) can be used to help the rendering code with deciding what actually needs to be rendered. The DistanceFogEnd can also be used for performance optimization: objects further away than the end of the distance fog are not considered for rendering. Of course this should only be used if it fits the map's theme, but large maps may become unplayable if it is not used.


Property group 'ZoneInfo'


Type: bool

Clear to fog color if distance fog is enabled.


Type: bool

There is distance fog in this zone.


Type: bool

Players falling below the KillZ height aren't killed immediately, but only when they land or fall really deep (more than 2000UU) below the KillZ area.


Type: bool

There is terrain in this zone. TerrainInfos will have no effect in this zone if this property is set to False. You can use this to make holes in your terrain. You can see this e.g. on DM-Antalus, where the three cave entrance ways cut through the terrain. The terrain transitions are covered by the large spike-like static meshes there.


Type: float

Actors, especially Pawns, falling below this height are killed. More specificly, the engine calls the actor's FellOutOfWorld() event with this zone's KillZType as parameter and the actor decides, how to handle this.

Default value: -10000.0


Type: Actor.eKillZType

This is passed to an actor's FellOutOfWorld() event to allow different KillZ effects.


Type: string

Modifiers: localized

The location name of this zone. Any Volume can be used to override this value for parts of the zone. The LocationName specified in the level properties will be used for zones without a ZoneInfo or if the ZoneInfo's LocationName is empty.


Type: name

This name is used in combination with ZoneTriggers. (Only used for switching the destination of WarpZoneInfos.)

Property group 'ZoneLight'


Type: byte

Brightness of the ambient lighting in this zone.


Type: byte

Color of the ambient lighting in this zone.


Type: byte

Saturation of the ambient lighting in this zone.

Default value: 255


Type: float

Distance fog transition time when entering this zone. This value also determines how quickly to fade in/out the fog if either the previous or this new zone does not have any distance fog.

Default value: 1.0


Type: Object.Color

The color of the distance fog. The alpha component is unused.

Default value:

Member Value
A 0
B 128
G 128
R 128


Type: float

The distance at which the fog reaches full opacity.

Default value: 8000.0


Type: float

Can be used to define an alternative, smaller full opacity fog distance. If specified, the player can use the "Fog Distance" slider in the detail settings to customize the fog distance for the best trade-of between performance and view distance.

This property should always be set for large outdoor maps. If it is zero, the fog distance user setting has no effect.


Type: float

The distance at which the fog starts.

Default value: 3000.0


Type: float

Default value: 1.2


Type: Texture

Modifiers: const


Type: float


Default value: 1.0


Type: float


Default value: 1.0

Property group 'ZoneSound'


Type: I3DL2Listener

Modifiers: editinline

An audio environment for this zone.

Property group 'ZoneVisibility'


Type: bool

Set this to True when this zone can neither be seen from any other zone, nor can any other zone (including the skybox) be seen from this zone.


Type: array<ZoneInfo>

Modifiers: editinline

You can add other ZoneInfo actors to this list to help the visibility code decide whether it should render that other zone if viewing from this zone. This can be useful if the view to another zone is only obstructed by static meshes.

Unfortunately this property is not defined as edfindable, so you will have to enter the Name from the Object property group of the ZoneInfo actors manually. UnrealEd only requires the short name, not the fully qualified name, though. Something like ZoneInfo5 will automatically be completed to ZoneInfo'myLevel.ZoneInfo5'.

Internal variables


Type: Object.Vector


Type: float

Modifiers: transient

The original value of DistanceFogEnd as that property may be scaled through the "Fog Distance" user setting.


Type: SkyZoneInfo

Reference to the SkyZoneInfo of the skybox of this zone. This property is initialized automatically at startup, but some custom ZoneInfo subclasses provide a way to select a specific skyzone.


Type: array<TerrainInfo>

Modifiers: const

List of TerrainInfos in this zone.

Default values

Property Value
bNoDelete True
bStatic True
Texture Texture'Engine.S_ZoneInfo'


Iterator functions


native(308) final iterator function ZoneActors (class<ActorBaseClass, out Actor Actor)

Iterates through all actors contained in this zone. This iterator function has about the same performance as AllActors, just with the benefit that actors from other zones are filtered in native code.



event ActorEntered (Actor Other)

Called when an actor enters this zone. Used only by WarpZoneInfo.


event ActorLeaving (Actor Other)

Called when an actor leaves this zone. Used only by WarpZoneInfo.


simulated event PreBeginPlay ()

Overrides: Actor.PreBeginPlay

Links this zone's skybox.

Other instance functions


simulated function LinkToSkybox ()

Tries to find a SkyZoneInfo for this zone. At low world detail, SkyZoneInfos with both bHighDetail and bSuperHighDetail set to False are ignored, at high world detail SkyZoneInfos with both bSuperHighDetail set to False are ignored.

Only the last relevant SkyZoneInfos placed by the mapper is used. If you want to use different skyboxes for different detail levels, make sure you place the SkyZoneInfo for the lowest detail mode first and the SkyZoneInfo for the highest detail mode last. If you added them in a different order, you can use the "Order -> To Last" command from the viewport context menu to change the order of the SkyZoneInfos.