Using Instigator to identify killer

The lack of understanding is deep on this one. I must admit this problem suprises me.

Everything in the code is working fine for the client, but the server doesnt register any kills. (The cast fails)

Heres a graphic outlining the system in question.

Where is your instigator variable set? That is a variable in the class it needs to be set before it can be accessed over wise it will be null (invalid). Try left clicking from other actor get type in “Get Instigator” and pass that on in place of the empty variable.

in the upper left corner, the Self reference I have circled. Is that what youre refering to?

the problem i am having, is that it only returns null on the server, client iterations the code works just fine.

Perhaps the instigator has not replicated yet? Could it be just lag of replication? Maybe add in a delay and see if it resolves?
Also on overlap I would print string to test if it’s firing on client or server.

I guess im not exactly sure where one might insert the delay. before registering death?

I think… that the overlap runs on the server. as the actor is spawned on the server? Im a little bit new to this process. So, im certainly a bit confused about networking.

FYI Damage Sender is not set to replicated (does not have two white balls)
It’s set on Executing Client, yet you try to read it on the server in SetKillsSR. Unless you pass it in another function Client => Server and set the variable it will not be the same.

I think i understand, they are all passing thru client > server

But, i think with the variable in question, it is being called from the same bp. It was sent over with the packet containing the damage information.

sorry about the confusion, Everything on that image, except for the cell containing the Overlap is on the same BP. The Overlap is the projectile being spawned.

Try setting breakpoints on the Functions jumping between client and server (F9) and see when the instigator becomes invalid.

Neat function, btw. Thanks for that.

However I cannot seem to make the client trigger a breakpoint. When an actor dies, its supposed to say hey, you got me, have a kil. And thats where its not working, so Im not sure how to see the var there. I know the rest of the routine is firing., I just cant make it break there. (The var is correctly placed when the server dies, and the client gets a point._)

Try stepping over the functions with F10 once you hit a breakpoint, it will show you bit by bit the logic and you will see where it breaks. You can hover over pins and see their values if the debugger has gone through them or is on the node where they are set.

Also from the dropdown on the top you can choose all of the actors of that class in the scene (client and server variants because they are two different actors just synced up)