Download

[Bug?] Actor "Owner" isn't set when spawning via Blueprint?

I have an actor (MyCharacter) that is spawning another actor (MyProjectile) via BLUEPRINT.
Actors have a method called “Get Owner”, but this doesn’t seem to be getting set for me, nor can I set it manually (there is no Set Owner in blueprint, and there doesn’t seem to be a way to do it in the Spawn Actor interface.) According to the C++ documentation this is an OPTIONAL parameter. I’d like to make use of this if possible via blueprint.

I would hope the intended behavior is that the owner is the object that spawned the actor, but it’s not working, at least for me.

Is anyone able to confirm this behavior is happening for them as well, and whether or not there is any real intended functionality behind “Owner”?
Otherwise, I think the only other way to handle this would be to set a custom variable myself and set this after spawning, or am I missing something?

Thanks.

This is still an issue, it seems broken in blueprint.

I’m not entirely sure about the question you’ve asked but the way I go about getting an actor that spawned something is to set it myself.

In the blueprint your spawning just add a variable called “Owner” and make it of variable type of the actor that’ll be spawning it. (You could just use actor) and set this variable to expose on spawn.

With this done go back to the blueprint that spawning said actor (in your case the character bp) and when you go to spawn in the actor there should be an variable input called “Owner”. Just connect a self reference to the variable.

This way when ever the blueprint is spawned it’ll get a reference to the blueprint that spawned it in. Hope this helps.

I got it sorted out, i needed to use the “real” owner for replication. https://answers.unrealengine.com/questions/56746/how-do-i-set-an-actors-owner-from-blueprint.html