Errors when packaging code plugin - but the plugin works fine!

Hello,

I’ve got a plugin with 2 modules; runtime and editor. The editor module doesn’t give me any errors when packaging, but the runtime module gives me hundreds! I can transfer the plugin between projects by just copying the plugin folder, but I’d like to be able to package it properly.

Below are some of the errors I’m getting.

error C2504: ‘UInterface’: base class undefined
error C3646: ‘Super’: unknown override specifier
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2440: ‘return’: cannot convert from ‘UFlux_Interface *’ to ‘UObject *’
error C2065: ‘UCurveFloat’: undeclared identifier
error C2923: ‘TObjectPtr’: ‘UCurveFloat’ is not a valid template type argument for parameter ‘T’
error C2955: ‘TObjectPtr’: use of class template requires template argument list
error C2039: ‘GetAllSocketNames’: is not a member of ‘TObjectPtr’

These errors carry on for a while, but with different types. They only appear when I try to package the plugin, either through the command line or through the interface in the engine.

I’m not getting any of these errors during development or testing - only when I try to package the plugin.

If anyone has any ideas on how I fix this, please let me know!

Hi,

Could you please check if your plugin .uplugin has bellow set?

"Type": "Runtime",
"LoadingPhase": "PreDefault"

instead of

"Type": "Development",
"LoadingPhase": "Default"

Ah I’ve figured it out - I’ve included the proper #includes now which has fixed the issue. Strange that it still actually worked in engine but only threw the errors when I tried to package.