How to call a function from character inside Controller?

I made a custom PlayerCharacter [SpaceShip] with a couple of Components. Two of them are [Left Fire] and [Right Fire]…both are Sphere Components with radius 0 and invisible, they are only ment as a component to spawn a projectile at the world location.

I also made a Custom Player Controller where all movement and shooting takes place, To acually spawn a projectile at my shere components I need a reference to them. I added two function inside my [SpaceShip] Character with an output to both sphere components.

The problem is, that inside the Player Controller I can only get a reference to a “PlayerCharacer” unable to cast it to my own [SpaceShip] Character. Because of that the functions are not available and as far as I know there is no generic [cast to] node to cast it to a [SpaceShip] Character.

How can I call my functions?

Blueprints are very good and mostly straight forward but Controller, Character are somehow special.

In C++ you can use the Cast or CastChecked template functions to get a reference to your SpaceShip Character

Cast will return NULL if the object is not of the desired type, CastChecked will throw an exception. CastChecked will have better runtime performance in shipping builds because it just does a C cast, but obviously you can only use it if you’re absolutely certain what the type of the object is.

So you’ll end up with something like:

ASpaceShipCharacter* SSChar = Cast<ASpaceShipCharacter>(GetCharacter());
if (SSChar != NULL)
{
	SSChar->LeftFire();
}

or

CastChecked<ASpaceShipCharacter>(GetCharacter())->LeftFire()

Same answer but blueprints please? xD

Edit: Got it.

http://litruv.com/upload/0003a5.png