Description

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
  }
}

 

Steps to Reproduce
  • Create a new Blueprint Class derived from Actor
  • Inside the BP, create an editable variable of type “Collision Profile Name”

Situation 1:

  • Create 2 actor instances from the BP on the level
  • Change “Collision Profile Name” in each one so that they are different
  • Select both of them simultaneously
  • The details panel will show “No Collision” for the variable (not “Multiple Values”)
  • The actual value of the variable will also have been changed on the instances

Situation 2:

  • Create 2 Blueprint Classes derived from the previous one
  • Inside each one, change “Collision Profile Name” so that they are different
  • Select both of them in the Content Browser and “Bulk Edit via Property Matrix”
  • The property editor will show “No Collision” for the variable (not “Multiple Values”)
  • The actual value of the variable will also have been changed on the blueprints

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-193151 in the post.

1
Login to Vote

Unresolved
ComponentUE - Editor - Workflow Systems
Affects Versions5.15.25.4
Target Fix5.5
CreatedAug 16, 2023
UpdatedMar 27, 2024