Description

If a macro is referencing a custom enum within a struct and compiled after another output pin is removed, an internal compiler error will appear and the blueprint will not compile.

Steps to Reproduce

1. Download, Unzip, and Open project at link:
[Link Removed]

2. Open Enum_Usage
3. Open Error Enum Macro
4. Press Compile

Results:

Internal Compiler Error

Expected:

Blueprint compiles without warnings.

----------

User posted these steps that led to repro:

1: Create a struct containing a custom enum

2: Created the Data actor named "Container"

3: Inside container put a array of the struct that contained the custom Enum, resize array.

4: Create the actor that uses the Data actor, "Enum_Usage".

5: Open "Enum_Usage" and make it spawn the data actor.

6: Create a macro that takes in the actor that was just spawned (Container in this case) and return the Custom Enum contained inside.

Note: As I stated above I noticed the error only throws if inside the Macro I remove a return value that was ccreated before the custom enum.

7: Create a boolean return value for the macro (Any type of variable should cause it though)

8: Drag the Enum pin we got from the spawned data actor to the macro return output

9: Compile

10: Remove the Boolean Output pin (Or whatever variable you chose)

11: Recompile and the error should occur.

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.8.3
Target Fix4.11
Fix Commit2815513
Main Commit2818924
Release Commit2815513
CreatedAug 6, 2015
ResolvedJan 5, 2016
UpdatedApr 27, 2018