it is possible to connect two incompatible types to an Array Blueprint function node by connecting the Item pin first. 

The type of Array function nodes is determined by the first thing connected to them and it is therefore possible to create an Array function of type Object, and connect the actual Array to it second, and the editor will let you do it since an Actor is an Object. It should detect on compile that this is not valid but it does not.

Steps to Reproduce
  1. Create a new blank Blueprint project.
  2. Create a new Actor Blueprint "BpTest".
  3. Within BpTest create a new Actor Array Variable named "Actor Array"
  4. Within BpTest create a new Object Variable named "ObjVariable"
  5. Compile & Save.
  6. Drag an Get Instance of Actor Array in the Event graph, pull off an "Add" Item to array node.
  7. Break the connecting nodes between "ActorArray" and Add.
  8. Drag an Get Instance of ObjVariable in the Event graph, plug in the ObjVariable to the add new item node.
  9. Reconnect the nodes between "ActorArray" and Add.
  10. Off of Event Begin Play, plug in the execution node into the Add node.
  11. Compile & Save.

Result:  Blueprint successfully Compiles.

Expected: Error Object types are not compatible.


Note: Upon resetting the project, the blueprint properly displays the compile error.

[Image Removed]

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay
Affects Versions4.
Target Fix4.26
Fix Commit12343906
Main Commit13686746
CreatedMay 21, 2019
ResolvedMar 20, 2020
UpdatedJun 16, 2020