Description

The "Detection by Affiliation" field cannot be edited in the Blueprint editor's Details view for an inherited AIPerception component in the "Senses Config" array if the AIPerception component is inherited from a native parent class defined in C++.

Suggested workaround: Click the button in the top-right of the Details view (next to the search bar) to open the selection for editing in the Property Matrix. This alternate editing view will allow the field to be edited.

Also to note: The "Data-only" Blueprint class editor (Defaults only) also allows the field to be edited, so the problem is limited to the full Blueprint editor's Details view.

Steps to Reproduce
  1. Start with the sample project (attached).
  2. Launch the editor, and create a new Blueprint class based on MyAIController (C++ class).
  3. Double-click to open the new Blueprint class in the Blueprint editor.
  4. In the Components tab, select the 'AIPerceptionComponent' template.
  5. In the Details view, click "+" next to the 'Senses Config' array and change the new element's type from 'None' to 'AI Sight config'.
  6. Click the triangle next to '0' to expand the new element, and click the triangle next to 'Sense' to expand the structure.
  7. Notice that the "Detection by Affiliation" field cannot be edited.
  8. Close the Blueprint editor, and create another new Blueprint class based on Actor.
  9. Double-click to open the new Blueprint class in the Blueprint editor.
  10. Add an AIPerception component, compile and save the Blueprint class, then close the Blueprint editor.
  11. Right-click on the new Blueprint class in the Content Browser and choose "Create Child Blueprint Class."
  12. Double-click the child Blueprint class to open it in the Blueprint editor.
  13. Select the AIPerception (Inherited) component.
  14. In the Details view, click "+" next to the 'Senses Config' array and change the new element's type from 'None' to 'AI Sight config'.
  15. Click the triangle next to '0' to expand the new element, and click the triangle next to 'Sense' to expand the structure.
  16. Notice that the "Detection by Affiliation" field can be edited as expected.

Expected result: The "Detection by Affiliation" property can be edited on AIPerception component senses in the Details view regardless of whether or not the AIPerception component is inherited from a native or a non-native parent class.

Callstack

Changing component as per email exchange with MattK

Have Comments or More Details?

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

4
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint
Affects Versions4.174.18
CreatedDec 15, 2017
ResolvedAug 18, 2021
UpdatedAug 18, 2021