Beacon placement has fixed vertical offset from attach point

Version: SU 15 - 1.37.19.0

Frequency: Consistently

Severity: Low

Context: Attaching default beacons to objects in dev mode

Bug description:
When attaching beacons to objects via the built-in dev mode option “has beacon” in the object editor the actual beacon will appear vertically offset by ~31 meters in the final scenery compared to the attach point in the mesh.
This is neither documented at SDK - Scenery Objects - Has Beacon nor expected and makes the accurate placement of the built-in beacons unnecessarily complicated in the context of custom scenery.

Repro steps:

  1. Load project and open object editor
  2. Add a (custom) scenery object for which the name and position of the attach point is known
  3. Select that object In the object editor and tick option “has beacon”
  4. Fill in the attach point name
  5. Save scenery, (re)build project and make sure it is installed in the Community folder
  6. Reload MSFS
  7. Visually compare position of beacon vs position of attach point

Attachments:
n.a.

A workaround has been discussed/proposed here:

If I need to scale a beacon, I’ll create 2 beacons, one where I scale the beacon geometry to the size I want but don’t display the beacon, and then another where I scale the beacon really small, then bury it underground however many feet I need it to be to get the light to be on top of the beacon that’s the correct size. Here’s an example of what I used to do at KASH in Nashua, NH

	<!--SceneryObject name: RotatingBeacon_Tower-->
	<SceneryObject lat="42.77604795822274" lon="-71.50728189557309" alt="0.00000000000000" pitch="0.000000" bank="0.000000" heading="-179.999995" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
		<LibraryObject name="{A04B772A-6BBF-4103-B263-D479BCCE71F5}" scale="0.460456"/>
	</SceneryObject>
	<!--SceneryObject name: RotatingBeacon_Tower (Beacon)-->
	<SceneryObject lat="42.77604842384222" lon="-71.50728099818839" alt="-17.00000000000000" pitch="0.000000" bank="0.000000" heading="-179.999995" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="FALSE" snapToNormal="FALSE">
		<LibraryObject name="{A04B772A-6BBF-4103-B263-D479BCCE71F5}" scale="0.461100"/>
		<AttachedObject attachpointName="" instanceId="{00000000-0000-0000-0000-000000000000}" pitch="0.000000" bank="0.000000" heading="0.000000">
			<Beacon type="CIVILIAN" baseType="AIRPORT"/>
		</AttachedObject>
	</SceneryObject>

Apparently I figured out a new way to do it using different library objects so I didn’t have to worry about scaling (and I imagine the tower is more realistic to the actual one now). Honestly, I don’t know what I did here, lol. It was a couple of years ago. I’m not sure what I’m using the fx_beacon.fx object for. In any event, yes, it’s pain that the altitude of the beacon light doesn’t change with the geometry when you scale the tower. I can’t think of any airport that has a beacon that’s that large.

	<!--SceneryObject name: AS_EDJA_Beacon-->
	<SceneryObject groupIndex="4" lat="42.77602402626252" lon="-71.50724394999142" alt="12.15567924266394" pitch="0.001544" bank="-0.001544" heading="167.567954" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="FALSE" snapToNormal="FALSE">
		<LibraryObject name="{CD6EA24C-7D9F-4E9F-B390-2ED643EF7889}" scale="1.000000"/>
	</SceneryObject>
	<SceneryObject groupIndex="207" lat="42.77604761016018" lon="-71.50728365576521" alt="14.02869494358956" pitch="0.000000" bank="0.000000" heading="-179.999995" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="FALSE" snapToNormal="FALSE">
		<Effect effectName="fx_beacon.fx" effectParams=""/>
	</SceneryObject>
	<!--SceneryObject name: RotatingBeacon_Tower (Beacon)-->
	<SceneryObject groupIndex="571" lat="42.77602300273382" lon="-71.50724217409058" alt="-16.92116067448151" pitch="0.000014" bank="-0.000014" heading="-179.999991" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="FALSE" snapToNormal="FALSE">
		<LibraryObject name="{A04B772A-6BBF-4103-B263-D479BCCE71F5}" scale="0.461100"/>
		<AttachedObject attachpointName="" instanceId="{2120CBD7-7026-4775-9AE5-D0E7C3F4A055}" pitch="0.000000" bank="0.000000" heading="0.000000">
			<Beacon type="CIVILIAN" baseType="AIRPORT"/>
		</AttachedObject>
	</SceneryObject>
	<!--SceneryObject name: UK2_BeaconTower~A0BDA1B1-58B3-4195-B8AF-B6BFAC641AAB-->
	<SceneryObject groupIndex="38" lat="42.77602370595276" lon="-71.50724490703061" alt="0.00000000000000" pitch="0.000833" bank="-0.000833" heading="166.887831" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
		<LibraryObject name="{A0BDA1B1-58B3-4195-B8AF-B6BFAC641AAB}" scale="0.600000"/>
	</SceneryObject>