Developer Notes

This is a side effect of how spawn nodes are implemented in order to support 'expose on spawn' parameters. We call a begin spawning and an end spawning node, both of which are passed the transform, so it's evaluated twice. Since pure nodes are expected to have no observable side effects by contract then there's nothing wrong with doing this (it's just a bit slower to be duplicating the work than would be ideal)

Description

When the node Spawn Actors from class is used with a pure input (in this case a pure function with a transform output) The result is that it get evaluated twice. In the test project provided a print string node will print twice with 2 separate values. This issue does not occur with an impure input as making the function unpure and hooking in the execution lines provides the expected result.

Regression:
This issue affects the 4.14.3, 4.15.2 and the 4.16 preview binary builds

Steps to Reproduce
  1. Open project provided
  2. Open Level TEST
  3. PIE
    Result: 2 strings are printed for the Spawn actor from class
    Expected result: Only one string is printed for the spawn actor from class

Have Comments or More Details?

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

2
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint
Affects Versions4.14.34.15.24.16
CreatedMay 9, 2017
ResolvedMay 9, 2017
UpdatedMay 10, 2017