## GENERAL DEFINITION PROPERTIES

While most XML files will have elements that are unique to the type of environmental content being created, there are some elements that are more general in use, and these can be used in multiple different contexts within the different XML files. This page documents these general elements and lists all the places where they can be used.

### <Vertex />

This sub-element is used to add a vertex position to another element either as a fixed point or as a bias. Note that you should only use one of the following set of attributions for a single vertex, and that this is a self-closing element:

Attribute Description Type Required
lat Latitude of the vertex, in degrees between -90.0° and 90.0°. Float Yes
lon Longitude of the vertex, in degrees between -180.0° and 180.0°. Float Yes

Attribute Description Type Required
biasX Bias from airport reference along the longitudinal axis in meters.

Float

Yes
biasZ Bias from airport reference along the latitudinal axis in meters. Float

Yes

This element can be used in the following places:

• <Apron>
• <ApronEdgeLights>
• <PaintedElements>
• <DetailPolys>
• <Trigger>
• <Car Parking>
• <VectorPlacement>

### <VisualModel>

This element is used to add a single visual model to an element. This element may also contain <BiasXYZ /> data and can have the following attributes:

Attribute Description Type Required
heading  Heading of the model placement, between 0.0° and 360.0°.

Float

No
imageComplexity

Minimum image complexity setting in Microsoft Flight Simulator for the objects to appear. For example, objects set at NORMAL will appear if the setting is DENSE, but not appear if the setting is SPARSE.

IMPORTANT! This element is DEPRECATED in Microsoft Flight Simulator. It should not be used and is only listed here for legacy context.

Enum:

1. VERY_SPARSE
2. SPARSE
3. NORMAL
4. DENSE
5. VERY_DENSE
No
name GUID of desired model object. GUID Yes
instanceId Optional GUID used to identify this instance of the VisualModel element. GUID No

This element is used in the following places:

• <Ndb>
• <Ils>

### <BiasXYZ />

This element is used to add an X, Y, Z bias in meters to the placement of an object. The acceptable range of values is unbound, but it is recommended that biases only be applied for small distances.

Attribute Description Type Required
biasX Bias along the longitudinal axis in meters. Float Yes
biasY Altitude bias in meters. Float Yes
biasZ Bias along the latitudinal axis in meters. Float

Yes

This element is used in the following places:

• <VisualModel>
• <AttachedObject>
• <SceneryObject>

### <Coloration />

This element can be used to change the color blending for an element. Note that this is a self-closing element and has the following attributes:

Attribute Description Type Required
red Red component of the coloration (between 0 and 255). Integer Yes
green Green component of the coloration (between 0 and 255). Integer Yes
blue Blue component of the coloration (between 0 and 255). Integer Yes
alpha Alpha component of the coloration (between 0 and 255). Integer No
override Override any base color already added. Boolean No

This element is used in the following places:

### <Material />

This element can be used to change the material used for another element. Note that this is a self-closing element and has the following attributes:

Attribute Description Type Required
guid The unique GUID of the material to use. String Yes
type The type of blending to use for the material.

String:

1. "Base tiled"
2. "Base and tire marks"
3. "Base and end cap"
4. "Border"
5. "Center"
6. "Patch"
7. "Tire gum"
Yes
tilingU The texture tiling along the width of the runway Float Yes
tilingV The texture tiling along the height of the runway Float Yes
width Ratio of the width of the item being textured with the material. A value of 1 would be full width. Float No
falloff The distance in meters of alpha blending at the edges. Note this does not permit any suffixes like other distance values and is in meters only. Float No
opacity The material opacity from 0 - 255. Integer No

This element is used in the following places:

### <SceneryObject>

This element is used in multiple different places to add a scenery object to the sim. This element can contain <BiasXYZ />, <NoShadow />, <HideOnTIN />, <NoSnow />, <Beacon />, <Effect />, <GenericBuilding>(DEPRECATED), <LibraryObject />, <Trigger>, <Windsock>, <WorldScript /> and <AttachedObject> elements. It should be noted that the <AttachedObject> element should always be defined last. This element can have the following attributes:

Attribute Description Type Required
instanceId GUID used to identify this instance of the element. String Yes
lat Latitude of the center point of the object, in degrees between -90.0° and 90.0°. Float Yes
lon Longitude of the center point of the object, in degrees between -180.0° and 180.0°. Float Yes
alt Altitude of the center point of the object, in meters. You may add the "F" suffix to convert the value to feet, for example: "13.0F". Float Yes
snapToGround Whether to snap the object to the ground (TRUE) or not (FALSE). Bool No
snapToNormal Whether to snap the object to the terrain normal (TRUE) or not (FALSE). Bool No
altitudeIsAgl Indicate whether altitude is AGL (TRUE) or MSL (FALSE) Bool Yes
pitch The pitch of the object, from 0.0 ° to 360.0 °. Float Yes
bank The bank of the object, from 0.0 ° to 360.0 °. Float Yes
heading The facing heading of the object, from 0.0° to 360.0°. Float Yes
imageComplexity

Minimum image complexity setting in the sim for the objects to appear.

IMPORTANT! This element is DEPRECATED in Microsoft Flight Simulator. It should not be set to anything other than "VERY_SPARSE" and is only listed here for legacy context.

Enum:

1. VERY_SPARSE
2. SPARSE
3. NORMAL
4. DENSE
5. VERY_DENSE
6. EXTREMELY_DENSE
Yes

This element is also used in the following places:

• <Tower>
• <BoundaryFence>, <BlastFence>
• <Jetway>
• <ProjectedMesh>
• Scenery Objects.

#### <NoShadow />

This element is used to indicate that the scenery object should not cast any shadows. The element is a self-closing element and requires no attributes. You can find an example of this element being used here.

#### <HideOnTIN />

This element is used to indicate that the scenery object should not be considered when rendering the TIN. The element is a self-closing element and requires no attributes. You can find an example of this element being used here.

#### <NoSnow />

This element is used to indicate that the scenery object should not be affected by snow, ie: when snow is present, it will not be rendered on the object. The element is a self-closing element and requires no attributes. You can find an example of this element being used here.

#### <Beacon />

This element is used to add a beacon to the scene. Beacons can be added as stand-alone objects, but are usually added as objects attached to control towers. Note that this is a self-closing element and has the following attributes:

Attribute Description Type Required
type The type of beacon being used.

Enum:

2. MILITARY
3. CIVILIAN
Yes
baseType Latitude of the center point of the object, in degrees between -90.0° and 90.0°.

Enum:

1. AIRPORT
2. HELIPORT
3. SEA_BASE
Yes

This element can also be used in the <AttachedObject> element, as well as non-airport Scenery Objects.

#### <Effect />

This element is used to add a scenery effect to the scene. Note that this is a self-closing element and has the following attributes:

Attribute Description Type Required
effectName The name of the effect (up to 80 characters).

String

Yes
effectParams Parameters for the effect. String No

This element can also be used in the <AttachedObject> element.

#### <GenericBuilding>

This element is used to add a generic building to the scene. The building type and parameters are set as sub-elements, using the <RectangularBuilding>, <PyramidalBuilding>, and <MultiSidedBuilding> elements.

IMPORTANT! This and the listed sub-elements ( <RectangularBuilding>, <PyramidalBuilding>, and <MultiSidedBuilding>) are DEPRECATED in Microsoft Flight Simulator. They should not be used and are only listed here for legacy context.

The element has the following attributes:

Attribute Description Type Required
scale Scale value for building that represents the number of meters per unit. Set to 1.0 for the building to be modeled in meters.

Float

Yes
bottomTexture ID of texture to use on bottom layer. Integer Yes
roofTexture ID of texture to use on roof. Integer Yes
topTexture ID of texture to use on top layer. Integer Yes
windowTexture ID of texture to use on window layer. Integer Yes

#### <LibraryObject />

This element is used to add a library object to the scene. Note that this is a self-closing element and has the following attributes:

Attribute Description Type Required
name The GUID of the object to be modelled.

String

Yes
scale The scale to be applied to the object (1.0 is no scaling, 0.5 would be half and 2.0 would be double). Float Yes

Library objects are those that are included with the base installation of Microsoft Flight Simulator and are generally those that are shown when opening the Objects window in The Scenery Editor. To get the GUID for these library objects, add the object to a scene, then check the Properties window, where the GUID will be listed.

#### <VisualEffectObject />

This element is used to add a visual effect to the scene. Note that this is a self-closing element and has the following attributes:

Attribute Description Type Required
name

The GUID for the VFX to be used. This attribute should only be used if you are not supplying the effectname attribute. This should be enclosed in {}, for example:

name="{A04B772A-6BBF-4103-B263-D479BCCE71F5}"

String Yes
effectname

The name or package/name of the VFX to use. The name is the name of the effect file without the file extension, or you can supply the package name and the effect file name in case the file name alone conflicts with another file. For example:

effectName="Smoke_SOS" effectName="Base/Smoke_SOS"

This attribute should only be used if you are not supplying the name attribute.

String

Yes
scale The scale to be applied to the effect (1.0 is no scaling, 0.5 would be half and 2.0 would be double). Float Yes

VFX objects are those that are included with the base installation of Microsoft Flight Simulator or that are created as part of a VFX package. To get the GUID or the name for these VFX objects, you can check the Template/Instance Debugger window, as explained in the section on Using Effects In The World. You can find an example of using these objects in a scene here: Effects Objects.

#### <Trigger>

This element is used to add a trigger to the scene. Triggers are used to define regions in the world that will cause an event when the user's aircraft enters that region. Triggers can presently be used to specify refueling stations and weather areas (like thermals or ridge lifts). This element may contain <Fuel />, <Vertex /> and <TriggerWeatherData> elements, and these elements must be listed in that order.

IMPORTANT! This and the listed sub-element <TriggerWeatherData> are deprecated in Microsoft Flight Simulator. They should not be used and are only listed here for legacy context.

This element can have the following attributes:

Attribute Description Type Required
type The type of trigger.

Enum:

1. REFUEL_REPAIR
2. WEATHER
Yes
triggerHeight Height of trigger in meters (must be positive). Float Yes

#### <Windsock>

This element is used to add a windsock to the scene. This element may contain <PoleColor /> and <SockColor /> sub-elements, which must be defined in that order if they are entered (they are optional, the default colors are gray and orange respectively).

This element can have the following attributes:

Attribute Description Type Required
poleHeight Height of pole in meters.

Float

No
sockLength Length of sock in meters. Float No
lighted Indicating whether the windsock is lit (TRUE) or not (FALSE). Bool No
containerTitle The container title of the SimObject to use (for the generic built-in windsock, use "Windsock" for the title). String Yes
containerPath The container file path. DEPRECATED (do not use) String No

Both <PoleColor /> and <SockColor /> have the following attributes:

Attribute Description Type Required
red Red component of the coloration (between 0 and 255). Integer Yes
green Green component of the coloration (between 0 and 255). Integer Yes
blue Blue component of the coloration (between 0 and 255). Integer Yes

#### <AttachedObject>

This element is used to attach another object to a scenery object. This element is allowed to contain <RandomAttach />, <BiasXYZ />, <Beacon />, <Effect />, <LibraryObject />, <SimObject />, <WorldScript /> and <Car Parking> data, which must occur in that order (though all are optional).

Note that attached objects are subject to any rotations or displacements applied to the base object, or any animated parts. Nesting of attached objects is supported but is not encouraged (for example, a library object can be placed that has a control tower attached to it and the attached control tower has a beacon attached to it).

This element can have the following attributes:

Attribute Description Type Required
attachpointName Name of the attach point in the model for the object.

String

Yes
instanceId GUID used to identify this instance of the element. String Yes
pitch The pitch of the object, from 0.0 ° to 360.0 °. Float Yes
bank The bank of the object, from 0.0 ° to 360.0 °. Float Yes
heading The facing heading of the object, from 0.0° to 360.0°. Float Yes

#### <RandomAttach />

This element is used to apply some randomness to <AttachedObject> elements. Note that this is a self-closing element and has the following attributes:

Attribute Description Type Required
randomness When the attached object is to appear. LOCATION_RANDOM will generate a random number based on the location, and so will always be the same. PURE_RANDOM will generate a new random each time the section of scenery is created.

Enum:

1. ALWAYS_DISPLAY
2. LOCATION_RANDOM
3. PURE_RANDOM
Yes
probability The probability of the attached object appearing, calculated using a value from 0.0 (never) to 1.0 (always). Float Yes

#### <SimObject />

This element is used to add a simulated object to the scene as a sub-element of the <AttachedObject> element. Note that this is a self-closing element and has the following attributes:

Attribute Description Type Required
containerTitle The container title of the SimObject to use. String Yes
containerPath The container file path. String No
scale

The scale to be applied to the object (1.0 is no scaling, 0.5 would be half and 2.0 would be double).

IMPORTANT! When using this parameter to scale JetWay sim objects, the scaling is only done on the mesh and not on the bones so that, even if the object is visually bigger, in the simulation the contact points will be the same as before. Therefor, you generally want to avoid using the scale attribute for JetWays, and rather scale the object in your 3D software before exporting it.

Float No

#### <Car Parking>

This element can be used to define a car park area within a scene, and is a sub-element of the <AttachedObject> element. It requires 3 or more <Vertex /> sub-elements to define the area, and has no attributes.

### <WorldScript />

This element can be used to define a script file that is attached to the scene elements. Note that this is a self-closing element and has the following attribute:

Attribute Description Type Required
containerTitle The container title of the SimObject to use. String Yes

This element can be used in the following places:

• <AttachedObject>
• <SceneryObject>

### <ObjectReferenceList>

This is a container element for a list of different <ObjectReference> sub-elements. The element has no attributes and you can only have one <ObjectReferenceList> element within each element. This element can be used in the following places:

• <State>
• <SimMission.SendMessageToAIAction>

#### <ObjectReference>

A reference to a single Action to be executed when the service enters this state. You can have multiple <ObjectReference> definitions within a single <ObjectReferenceList> element, and they can have the following attributes:

Attribute Description Type Required
id Informal description of the action. Not an actual identifier, but designed to make scripts much more readable. String Yes
InstanceId Reference to the GUID of the corresponding action. String Yes