Member variables with Invalid (native) Type Mystery


I’m struggling to identify the root of a problem we’re experiencing, which doesn’t seem to make much sense.

In our project native code, we have our own GameplayStatics derivative and within that we have a natively defined struct which in itself is not very special (alongside a number of other things, like structs, enums and static functions). This struct, and the other things defined in this class are used within blueprints in the project.

Now, here’s where it gets weird. On the programmer machine, this is all working as expected and there are no issues. On two artist machines, the editor pops up the error / warning that variables of this struct’s type have an invalid type and asks if you’d like to remove them. In the editor they do indeed show up as invalid if not removed.

I know that the artist machines have the correct version of the binaries, and all our natively defined classes (there are many) as well as the other structs, enumerators, and static functions within that GameplayStatics class are absolutely fine - it is literally just this one struct.

Has anyone seen this before? I could do with some advise on how to resolve this if it’s possible without reimplementing the struct and all code that uses it, as well as avoid this happening in future.



This is a bit of a bump. I haven’t been able to work out why this is happening. I assume that the native code itself is largely fine, but something has gone wrong somewhere behind the scenes where it should be visible to Blueprint.

Tomorrow I’m going to try replacing the struct with an entirely new, but otherwise functionally identical one.

Completely replacing the struct seemed to solve our problem. It was a bit of a pain though, given that it was at the core of our grid math library :frowning: