Files
integration/Plugins/UEWingman/Source/UEWingman/Private/WingParameterEditor.md
2026-04-08 19:39:39 -04:00

963 B

WingParameterEditor Bugs

1. GetMaterialParameters() reuses Temp across every parameter type

WingParameterEditor.cpp allocates one TMap<FMaterialParameterInfo, Metadata> Temp; and then passes the same map to GetAllParametersOfType() for every EMaterialParameterType without clearing it first. If that Unreal API appends to the map instead of replacing it, later iterations will reprocess stale entries under the wrong type, which can corrupt the material dump and even trip the check on the metadata type at line 119.

2. The cached FProperty* map is never refreshed after a reload

GetGetterAndSetterMap() builds a static map of raw FProperty* pointers once and keeps them forever. In the editor, hot reload or live coding can rebuild the generated FWingParameterEditor struct, which makes those cached pointers stale; after that, AddOverride() and Print() can dereference invalid property metadata.