Cast to Child Blueprint, failing

Hello all!

This should seem pretty simple, but I can’t get it to work, and my many Google Searches have not found an answer.

I have a Weapon Base class. Right now it only has two variables, Damage & PowerCost.
I have made a child of this called Magic Projectile.

When I look at the child, I can see the Damage and PowerCost variables in it, and they are adjustable without affecting Weapon Base, which seems as it should be.

From my ThirdPersonCharacter, I am trying to pull the PowerCost variable so that I can adjust the Power accordingly for each use.
My problem is that I can’t get it to cast.

I’ve tried directly.
IE: Ability2 input → cast to Magic Projectile ->as Magic Projectile, get PowerCost.
No matter what I use an an Object for Cast to Magic Projectile, it always fails.

I tried casting to WeaponBase first, then casting to MagicProjectile off of it. Still failed.
Any ideas how to pull that PowerCost variable from the MagicProjectile child actor?

Thanks many times in Advanced.

What type “Ability2 input” is? You sure it’s compatible? You sure it is not None? You can check what object is coming in by placing breakpoint on the node (right click and oyu will have option for that) and when breakpoint is triggered you can hover over pins to see what is inputed in to the pins, you caa verify if everything works as you expect

Ability 2 is an Input, set through Options/Inputs.
It works if I only hook up a print string to it, so I know thats not it.
When I hook up a print string to the Cast or Cast fail, it always fails

The input is an assigned input through Options/Inputs. It is valid, I checked it all with Print string to ensure it was working properly.

On the new blueprint you created, click on Class Settings, and verify if it really has a parent. If it does, the only explanation is that your object is having a null or invalid pointer. To check this, use the Is Valid node before you cast the object.

if it fails it means you casting to unrelated class, again use breakpoint on cast to see what type of object cast node in getting, then you can class tree to see if class you casting to is related to class of the object that cast ndoe is getting, you can use Class Viewer (Window->Devlopment Tools->Class Viewer). You can also cast only to the for most class that object is, so if you got classes related like this A->B->C->D and you got object of class C in cast and link of class A, you can only cast it to class B or C not D.