The class FcollisionProfileNameCustomization customizes the property editor for the class FcollisionProfileName. However, it does not handle the case where multiple assets/actors are being edited simultaneously while having different values for that property. As a result, the property editors display “No Collision” instead of “Multiple Values” in that case. Worse yet, opening a property editor in this situation (for example, in the details panel for multiple actors or in the Property Matrix for multiple assets) actually changes the value of the property on all references assets/actors to “No Collision”.
Notes:
[Editor\DetailCustomizations\Private\CollisionProfileNameCustomization.cpp] - FCollisionProfileNameCustomization::CustomizeChildren() - FCollisionProfileNameCustomization::GetSelectedName() - FCollisionProfileNameCustomization::GetPropertyAsName() - NameHandle->GetValue(OutName); // <-- This does not handle a return value of FPropertyAccess::Result::MultipleValues [Editor\DetailCustomizations\Private\CollisionProfileNameCustomization.cpp] FCollisionProfileNameCustomization::CustomizeChildren() { TSharedPtr<FName> InitialSelectedName = GetSelectedName(); if (InitialSelectedName.IsValid()) { SetPropertyWithName(*InitialSelectedName.Get()); // <-- This sets the value wrongly } }
Situation 1:
Situation 2:
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-193151 in the post.
1 |
Component | UE - Editor - Applied Usability |
---|---|
Affects Versions | 5.4, 5.1, 5.2 |
Created | Aug 16, 2023 |
---|---|
Updated | Oct 18, 2024 |