Description:
I am developing a custom Medevac variant of the SWS Kodiak 100 for MSFS 2024. The aircraft uses a custom attachment (Function_Interior_Medevac) with its own loads system, navigation graph, and SimPropContainers.
The Problem:
When I assign cargo weight to the MEDEVAC_EQUIPMENT station via the EFB tablet (payload section), the weight value is applied correctly, but the SimPropContainer visual objects (medical bags, oxygen units, etc.) never spawn in the cabin. The load station appears in the UI and accepts weight, but no 3D objects are rendered.
What I’ve Tried:
- Single combined entry approach (original): One
LabeledSimPropContainersentry inloads.lblwith"Weight": ["Light","Medium","Heavy"]combined in a single Values array, referencing one SimPropContainer XML with one GUID. Result: weight applies, no visual objects spawn. - Separate entries approach (matching working Kodiak 100 pattern): Split into 3 separate
LabeledSimPropContainersentries (Light/Medium/Heavy), each with its own uniqueSimPropContainerGUIDand corresponding XML file. This matches the pattern used by the working SWS Kodiak 100 Cargo/Combi variants. Result: same behavior — weight applies, no visual objects spawn. - GUID verification: Confirmed all GUIDs match between
loads.lbl→ SimPropContainer XML<GUID>tags. No mismatches. All GUIDs are unique and properly formatted. - ReferencePointName verification: The
<ReferencePointName>in each SimPropContainer XML matches thereference_points.cfgentry (ATTACH_LOAD_MEDEVAC_EQUIPMENT), and themodelNodeinnavigation_graph_cargo.cfgalso references this same name. The reference point exists in the 3D model. - Rebuilt package via PackageBuilder after each change.
File Structure:
attachments/SWS/Function_Interior_Medevac/
attachment.cfg
config/
reference_points.cfg
attached_objects.cfg
loads/
loads.lbl
SimPropContainers/
Medevac_Equipment_Light.xml
Medevac_Equipment_Medium.xml
Medevac_Equipment_Heavy.xml
navigation_graph/
navigation_graph_cargo.cfg
navigation_graph_medic.cfg
navigation_graph_medic.xml
model/
Kodiak_Interior.xml
texture/
texture.cfg
Current loads.lbl (3-entry approach):
"LabeledSimPropContainers": [
{
"Name": "Medevac_Equipment_Light",
"SimPropContainerGUID":"{8F4A2C7D-9E1B-4536-B792-1C3D8E5F4A6B}",
"Labels": [
{"Key": "Weight", "Values":["Light"]},
{"Key": "LoadType", "Values":["Boxes"]},
{"Key": "Aircraft", "Values":["sws_kodiak_medevac_normal_cp","sws_kodiak_medevac_normal_nocp","sws_kodiak_medevac_tundra_cp","sws_kodiak_medevac_tundra_nocp"]},
{"Key": "NodeName", "Values":["MEDEVAC_EQUIPMENT"]}
]
},
{
"Name": "Medevac_Equipment_Medium",
"SimPropContainerGUID":"{48E45AA8-F307-4418-BB11-83B486442028}",
"Labels": [
{"Key": "Weight", "Values":["Medium"]},
{"Key": "LoadType", "Values":["Boxes"]},
{"Key": "Aircraft", "Values":["sws_kodiak_medevac_normal_cp","sws_kodiak_medevac_normal_nocp","sws_kodiak_medevac_tundra_cp","sws_kodiak_medevac_tundra_nocp"]},
{"Key": "NodeName", "Values":["MEDEVAC_EQUIPMENT"]}
]
},
{
"Name": "Medevac_Equipment_Heavy",
"SimPropContainerGUID":"{C77E6E2A-C0C9-47DB-9FBE-117201D7AD52}",
"Labels": [
{"Key": "Weight", "Values":["Heavy"]},
{"Key": "LoadType", "Values":["Boxes"]},
{"Key": "Aircraft", "Values":["sws_kodiak_medevac_normal_cp","sws_kodiak_medevac_normal_nocp","sws_kodiak_medevac_tundra_cp","sws_kodiak_medevac_tundra_nocp"]},
{"Key": "NodeName", "Values":["MEDEVAC_EQUIPMENT"]}
]
}
]
}
navigation_graph_cargo.cfg (relevant node):
[Node.0]
name = MEDEVAC_EQUIPMENT
tag = CARGO
distanceToNotAnimate=20
modelNode = ATTACH_LOAD_MEDEVAC_EQUIPMENT
pos = 0,0,0
pbh = 0,0,0
spawnLoad = true
massSection = MEDEVAC_EQUIPMENT
[MassSection.0]
name = MEDEVAC_EQUIPMENT
stationLoadName = TT:MENU.PAYLOAD.MEDEVAC_EQUIPMENT
maxMass = 300
deck = cabin
fillPriority = 4
reference_points.cfg:
[REFERENCEPOINT.0]
Name = ATTACH_LOAD_MEDEVAC_EQUIPMENT
IsExterior = 0
SimPropContainer XML example (Light — all 3 follow same structure):
<?xml version="1.0" encoding="UTF-8"?>
<SimBase.Document>
<SimPropContainer.SimPropContainers>
<ReferencePointName>ATTACH_LOAD_MEDEVAC_EQUIPMENT</ReferencePointName>
<SimPropContainer InstanceId="{3D1E4B92-7A8B-4C61-8E23-5F1A9D0C8B74}">
<GUID>{8F4A2C7D-9E1B-4536-B792-1C3D8E5F4A6B}</GUID>
<Descr>MEDEVAC_EQUIPMENT_LIGHT</Descr>
<SimPropBase>
<EmptyWorldObject/>
</SimPropBase>
<SimPropAttachs InstanceId="{6B2D1F4A-3E9C-4875-A159-2C8B7D4E6F3A}">
<SimPropAttach InstanceId="{EE86A795-58A3-40F5-AF3A-DF26525E27B6}"
DisplayName="MedicalBag01_orange" ParentGroupID="2">
<Transform InstanceId="{D72E3AD9-9C79-428B-8808-CA082206B167}">
<AttachedWorldObject>
<OffsetXYZ>0.361,-0.115,-4.938,0.000</OffsetXYZ>
<Orientation>0.000,0.000,48.983</Orientation>
</AttachedWorldObject>
</Transform>
<LibraryObject InstanceId="{D669F8DD-CAAF-41AF-A0BE-3578AD4A5CB2}">
<MDLGuid>{5AAC2F48-2DE6-4CAE-8165-8F960B32D9D9}</MDLGuid>
<Scale>1.000</Scale>
</LibraryObject>
</SimPropAttach>
</SimPropAttachs>
<Groups InstanceId="{2F7A5E9C-3B8D-4156-A942-1C6D8F4B7E3A}"/>
</SimPropContainer>
</SimPropContainer.SimPropContainers>
</SimBase.Document>
Working reference for comparison:
The standard SWS Kodiak 100 Cargo variant (Function_Exterior/loads/) uses the exact same pattern — separate LabeledSimPropContainers entries per weight, separate XML files, separate GUIDs — and works correctly. The only difference is that the Medevac loads are in an attachment under Function_Interior_Medevac rather than Function_Exterior.
Questions:
- Are SimPropContainers supported inside attachment-level
loads/folders (i.e. underattachments/SWS/Function_Interior_Medevac/loads/), or must they be at a different level in the hierarchy? - Is there a known limitation where SimPropContainers defined within a custom interior attachment do not get picked up by the EFB tablet’s cargo loading system?
- Are there additional configuration files or registration steps required to make SimPropContainers work in a custom attachment beyond
loads.lbl, the XML files,reference_points.cfg, andnavigation_graph_cargo.cfg? - Does the
modelNodereferenced in the navigation graph need to be specifically tagged or configured in the 3D model XML beyond simply existing as a named node and GUID?