Description

A Blueprint Interface function that returns a map type variable will fail compiling with various errors when called in another Blueprint. If the same function is setup in the Actor Blueprint instead of the Blueprint Interface it will compile with no issues.

This issue was reported and tested in 4.21.2 (CL-4753647). This was reproduced in 4.20.3 (CL-4369336), 4.22 (CL-5159901), and Main 4.23 (CL-5204310)

Steps to Reproduce
  1. Open the UE4 Editor and create a blank project
  2. Create a Blueprint Interface and add a new function
  3. In this function add an output parameter that is a Map (Dictionary) of Integer and String, Compile and Save
  4. Create a Blueprint Actor, call the interface function, and attach it to BeginPlay
  5. (Optional) Add reference to self to the Interface call if needed
  6. Compile the Actor Blueprint

Results: LogBlueprint: Error: [Compiler NewBlueprint] The type of Variable is undetermined. Connect something to Get Map to imply a specific type.
LogBlueprint: Error: [Compiler NewBlueprint] The type of Value is undetermined. Connect something to Get Map to imply a specific type.
LogBlueprint: Error: [Compiler NewBlueprint] A variable needs to be connected to Variable
LogBlueprint: Error: [Compiler NewBlueprint] Default value '' for Value is invalid: 'Unsupported type Wildcard on pin Value'

Expected: Compiles successfully

Have Comments or More Details?

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

2
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.224.20.34.234.21.2
Target Fix4.22
Fix Commit5247777
Main Commit5247868
Release Commit5247777
CreatedFeb 26, 2019
ResolvedFeb 28, 2019
UpdatedMar 23, 2019