Error: "This blueprint (self) is not a , therefore 'self' must have a connection

Hi all,

I’ve seen similar errors to this online before, but, note that it’s not talking about “Target” needing a connection but “self”. I’m not exactly sure why and I’m left scratching my head (though I am new to Blueprints so I’m hoping I’ve just made a rookie blunder).

I’ve uploaded a screenshot of how the blueprint looks, and by all accounts, it looks right to me. All the classes match up. Note that “self” is a reference to “VH_Buggy” (for the “Vehicle Pawn” argument of the “Get Into Vehicle” event).

The cast I have toward the bottom also doesn’t seem to care if I use the “Get Player Pawn” function or the “Other Actor” pin from the event above. It gives the same error. The “Target” of the event is supposed to be “PlayerPawn” (unfortunately named but that’s just how it goes).

Also, I don’t know if it matters, but, if I break the “flow” link into the event, I get no error (though it’s useless to me at that point since I need it to happen in a certain order).

Any help would be much appreciated. Thanks.

Hey, I’m also new to Blueprints, so there may be other things that I’m missing, but at first glance I think the problem is that the node “Cast To PlayerPawn” is not called explicitly.

You need to call the it right after the “Print String” and only if it succeeds you call “Get Into Vehicle”.

I’ve attached an image that hopefully makes it clear :slight_smile:

For starters, the Cast node is not receiving any ticks.
Secondly, it might be usefull to share whats inside “GoIntoVehicle” so that we can see where those Target and Verhicle Pawn pins go to.

If it’s a bit the same as the Posses node. Then Target should be PlayerController where the VerhiclePawn is the VehiclePawn.

Ahh, that was it! Thanks! I suppose I’d just assumed (incorrectly) that it would know to do it when the reference was grabbed. Not used to visual editors like this (too many years spent cutting code). I actually can’t wait to get a grip on this stuff so I can then do it via C++.