Files
integration/Docs/Unsupported-SingleClass-Factories.md

101 lines
3.9 KiB
Markdown
Raw Permalink Normal View History

2026-04-04 17:59:00 -04:00
# Unsupported Factories with 1 Class-Type Parameter
## Standard candidates (class picker, flag-based filtering)
All of these follow the same basic pattern: TSubclassOf<Base>, open a
class picker dialog, filter on class flags.
- AudioSynesthesiaNRTFactory — AudioSynesthesiaNRTClass
TSubclassOf<UAudioSynesthesiaNRT>
Flags: no abstract, no deprecated, no newer-version-exists
- AudioSynesthesiaNRTSettingsFactory — AudioSynesthesiaNRTSettingsClass
TSubclassOf<UAudioSynesthesiaNRTSettings>
Flags: no abstract, no deprecated, no newer-version-exists
- AudioSynesthesiaSettingsFactory — AudioSynesthesiaSettingsClass
TSubclassOf<UAudioSynesthesiaSettings>
Flags: no abstract, no deprecated, no newer-version-exists
- CurveFactory — CurveClass
TSubclassOf<UCurveBase>
Flags: no abstract, no deprecated, no newer-version-exists
Also checks CanCreateAssetOfClass()
- DataAssetFactory — DataAssetClass
TSubclassOf<UDataAsset>
Flags: no abstract, no deprecated, no newer-version-exists, no hide-dropdown
Also checks CanCreateAssetOfClass()
- InputAction_Factory — InputActionClass
TSubclassOf<UInputAction>
Flags: no abstract, no deprecated, no newer-version-exists, no hide-dropdown
Skips dialog if no subtypes exist
- InputMappingContext_Factory — InputMappingContextClass
TSubclassOf<UInputMappingContext>
Flags: no abstract, no deprecated, no newer-version-exists, no hide-dropdown
Skips dialog if no subtypes exist
- PhysicalMaterialFactoryNew — PhysicalMaterialClass
TSubclassOf<UPhysicalMaterial>
Flags: no abstract, no deprecated, no newer-version-exists
Also checks CanCreateAssetOfClass()
- PhysicalMaterialMaskFactory — PhysicalMaterialMaskClass
TSubclassOf<UPhysicalMaterialMask>
Flags: no abstract, no deprecated, no newer-version-exists
Also checks CanCreateAssetOfClass()
- SoundSourceEffectFactory — SoundEffectSourcepresetClass
TSubclassOf<USoundEffectSourcePreset>
Flags: no abstract, no deprecated, no newer-version-exists
- SoundSubmixEffectFactory — SoundEffectSubmixPresetClass
TSubclassOf<USoundEffectSubmixPreset>
Flags: no abstract, no deprecated, no newer-version-exists
## Slightly unusual candidates
- CameraAssetFactory — CameraDirectorClass
TSubclassOf<UCameraDirector>
Flags: no abstract, no deprecated (does NOT check newer-version-exists)
Allows "None" option (parameter can be null)
- SlateWidgetStyleAssetFactory — StyleType
TSubclassOf<USlateWidgetStyleContainerBase>
Flags: no abstract, no deprecated, no newer-version-exists
Explicitly excludes the base class itself
- TemplateSequenceFactoryNew — BoundActorClass
TSubclassOf<UObject> but dialog restricts to actors only (bIsActorsOnly)
Effective base class is AActor
No explicit flag filtering beyond class viewer defaults
## Complex / special cases (probably not suitable for Create_ClassArg)
- ControlRigBlueprintFactory — ParentClass
TSubclassOf<UControlRig>
Complex custom filter: native-only, must have IsBlueprintBase="true"
metadata, no blueprint parents. Also calls CanCreateBlueprintOfClass
in FactoryCreateNew. Dialog gated behind a CVar.
- LiveLinkBlueprintVirtualSubjectFactory — ParentClass
ParentClass is hardcoded. The actual configured parameter is "Role"
(TSubclassOf<ULiveLinkRole>) with a custom modal dialog and a filter
that checks IsAllowableBlueprintVariableType on the role's structs.
Different parameter than what SysInfo_Factories reported.
## Not class parameters at all (remove from consideration)
- MetaSoundFactory — ReferencedMetaSoundObject
TObjectPtr<UObject>, not TSubclassOf. Optional reference to an
existing MetaSound object for preset initialization.
- MetaSoundSourceFactory — ReferencedMetaSoundObject
Same as above.
- ObjectMixerBlueprintFilterFactory — ParentClass
Hardcoded to UObjectMixerBlueprintObjectFilter in constructor.
No config dialog. Nothing to configure.