Developer Notes

If you first attach the parent, then the select is using the parent's type. Both child and parent are considered that type.
If you attach the child first, we use the child's type. Parent is not of the child's type.

Description

The Select node will accept both a Parent Class and a Child Class as inputs if the Parent is added first. The node will compile if the Index is set to anything other than Wildcard.

Note that the node will reject the Parent as an input if the Child is connected first. The node will NOT compile if left with an Index of Wildcard.

The user reporting this says the inputs will be disconnected on restarting the editor, but I was not able to reproduce that behavior.

Reproduced in 4.9.0 binary and Main (CL 2676715)

Steps to Reproduce

1. Create a new blank project
2. Create a new Actor Blueprint, "ClassA"
3. Create a child of ClassA, "ClassA_Child"
4. Create a new Actor Blueprint, "ClassB"
5. In ClassB, create a variable of type ClassA
6. Create a variable of type ClassAChild
7. Add a Select node
8. Plug the ClassA var into Option 0
9. Plug the ClassAChild var into Option 1
10. Change the Index to Bool
11. Compile

Result:
Successful compile, despite having two different Actor types plugged into the Select node.

Expected:
The Select node either does not compile, or does not accept two different Actor types as inputs.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

By Design
ComponentUE - Gameplay - Blueprint
Affects Versions4.94.10
CreatedSep 2, 2015
ResolvedSep 2, 2015
UpdatedJul 14, 2021