Description

Packaging with nativization enabled will fail when a struct and interface reference each other.

Error Message:

LogCompile:Error: Circular dependency detected for filename C:\Users\Sean's\Downloads\127513-bpinterfacebug\Intermediate\WindowsNoEditor\NativizedAssets\Source\NativizedAssets\Public\BPI_MyInterface__pf1010915279.h!

While this is not encouraged to create circular references, it is inconsistent with the behavior of a non-nativized package. The project will package successfully when not using nativization. It would be expected that the same error would occur.

Steps to Reproduce
  1. Open the editor
  2. Create a new blueprint interface
  3. Create a new struct
  4. Add a variable to the struct of your interface type
  5. Add a function in the interface that takes a reference to the struct as an input
  6. Navigate to Project Settings->Packaging and set Blueprint Nativization Method to Inclusive
  7. Package for Win64

Result: Packaging fails

Expected: Packaging would succeed, or the same error message would be present in a non-nativized package.

Have Comments or More Details?

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

7
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint Runtime
Affects Versions4.144.15
CreatedFeb 24, 2017
ResolvedJul 15, 2021
UpdatedJul 19, 2021