State
1.8.0.13
-
The SCR_AmbientVehicleSpawnPointComponent currently exposes the following field in the Workbench Inspector:
[Attribute(
"0",
UIWidgets.ComboBox,
"Select Entity Labels which you want to optionally include to random spawn. If you want to spawn everything
can leave it out empty.",
"",
ParamEnumArray.FromEnum(EEditableEntityLabel)
)]The selector is populated from the complete global EEditableEntityLabel enum. However, ambient vehicle spawning does not use the complete enum indiscriminately. It filters entries from the VEHICLE entity catalog belonging to the faction configured for the spawn point.
As a result, the Inspector offers many labels that are not present in, or meaningful for, the selected faction's vehicle catalog. Selecting such a label can produce an empty filtered catalog, leaving the spawn point unable to
select a vehicle. The editor does not currently indicate which labels are valid for the selected faction.
Steps to reproduce
Open a world containing a FactionManager and ambient vehicle spawn points.
Place or select an ambient vehicle spawn point with a faction affiliation.
Open the SCR_AmbientVehicleSpawnPointComponent properties in the Workbench Inspector.
Open the m_aIncludedEditableEntityLabels selector.
Observe that the selector contains the complete EEditableEntityLabel enum, including labels that do not occur in the selected faction's vehicle catalog.
Select a label that is not present in that faction's vehicle catalog.
The resulting label filter may contain zero vehicle candidates.
Expected behavior
The available values in the m_aIncludedEditableEntityLabels and, ideally, m_aExcludedEditableEntityLabels selectors should be calculated dynamically from the faction-specific VEHICLE catalog of the selected spawn point.
The list should be refreshed when:
- the world is loaded;
- the Inspector for the spawn point is opened;
- the spawn point's faction affiliation changes;
- the relevant catalog data is reloaded.
The list should contain the unique editable labels actually assigned to enabled entries in the selected faction's VEHICLE catalog.
The list should be data-driven and include labels provided by mods. It should not rely on a hard-coded whitelist such as VEHICLE_CAR, VEHICLE_TRUCK, etc.
Suggested implementation
For the selected spawn point:
Resolve its faction through SCR_FactionAffiliationComponent.
Obtain the faction-specific vehicle catalog using: SCR_Faction.GetFactionEntityCatalogOfType(EEntityCatalogType.VEHICLE)
Enumerate the enabled SCR_EntityCatalogEntry objects.
Collect their labels using: SCR_EntityCatalogEntry.GetEditableEntityLabels(...)
Remove duplicates and use the resulting values to populate the Inspector selector.
If a previously selected label is no longer available after changing the faction, it should not be silently removed. It could remain visible as an obsolete/invalid value with a warning, or the editor could ask the user to resolve it.
This request concerns the Workbench editor UI and property metadata only. Runtime spawning behavior and the existing catalog filtering rules should remain unchanged.
Why this is needed
The current selector exposes the entire global enum, while the actual valid choices depend on the faction-specific vehicle catalog. This makes the editor misleading and allows configurations that produce zero vehicle candidates without an obvious explanation.
A dynamic selector would:
- prevent invalid label combinations;
- make the Inspector reflect the actual faction configuration;
- support custom factions and modded vehicle catalogs;
- eliminate the need for users to manually inspect catalog contents;
- reduce confusion when a spawn point does not select any vehicle.
Acceptance criteria
- Different factions can expose different label lists.
- Only labels present on enabled entries in the selected faction's VEHICLE catalog are offered.
- Mod-provided labels are supported automatically.
- The list updates after changing the spawn point's faction.
- Existing serialized label values are preserved safely when the available list changes.
- The implementation does not introduce a global-catalog fallback for faction-configured ambient vehicle spawn points.
- Runtime vehicle spawning behavior remains unchanged.
- The field remains usable for selecting multiple labels and preserves the existing require all behavior.
Activity
You are not signed in. Please sign in to see more details and to reply.
State