Why am I getting an error of "______ should not be called from a Blueprint" when I restart the Editor?

ClaudioCaviola
Fri, 25 Apr 2014 17:57:03 +0000
Blueprint

After struggling with this issue regarding my project I decided to submit my question to propper assistance. I created this Blueprint consisting of a Box for simple Overlap Events. This Blueprint acts as my Area Volume ( ICON_Area ) and its function is to store variables and gameplay elements for a particular area inside the level. In this particular case, a Variable Array called RegisteredPlayerStart.

My PlayerStart ( a Blueprint with a cylindrical mesh) on BeginGame event checks for any ICON_Area that it’s overlaping and try to add itself to the RegisteredPlayerStart Array.

When the player Dies, he will respawn in some PlayerStart found in the ICON_Area’s RegisteredPlayerStart Array. For that, before the SpawnActor command
I check if we should use Ramdon Respawn points or Linear Respawn points and then, from my PlayerController, I Call a function inside the ICON_Area to select a PlayerStart.

Everything works fine until I restart the editor… Everytime the Editor opens I get the following error:

LogBlueprint:Error: [compiler] Error Function ‘ICON_SelectNextPlayerStart’ called from ICON Select Next Player Start should not be called from a Blueprint

LogBlueprint:Error: [compiler] Error Function ‘ICON_SelectRandonPlayerStart’ called from ICON Select Randon Player Start should not be called from a Blueprint

If I recompile the Blueprints everything start to work again aside from trying to play as StandAlone Game, which crashes on StartUp.

The Function “ICON_SelectNextPlayerStart” and “ICON_SelectRandonPlayerStart” are inside my ICON_Area but is called from my PlayerController blueprint.

My Player is a Ball that uses a peculiar gravity logic and, in order to do so, I need every ball used by the player is registered inside a Array, So I can pass any command related to
every ball that belongs to the player. So, on Begin Game, every spawned ball adds itself to an Array in the PlayerController, for that I have a function, inside the PlayerController called
“ICON_RegisterBall” and, when the ball is destroyed, “ICON_UnRegisterBall”.
Before the Update to the 4.1 version, these last two functions worked fine, but now they show an error on Editors start up and, as the first issue above, as soon I Recompile the blueprints,
everything starts working again.

LogBlueprint:Error: [compiler] Error Function ‘ICON_RegisterBall’ called from ICON Register Ball should not be called from a Blueprint

LogBlueprint:Error: [compiler] Error Function ‘ICON_UnRegisterBall’ called from ICON Un Register Ball should not be called from a Blueprint

Everything I’m trying to do with the Blueprints, was done before with UDK and UScript. I’m just trying to port my work to Unreal 4. So far I’ve managed to get things working
and I’m really impressed with the quick results I’m getting with the Blueprint System, aside for these problems when I restart the Editor or try to play the game as a Standalone.

Screeshots:

Blueprint error at Editor Startup

Function declaration:

Thanks in advance for the help.

13 posts - 7 participants