[Minor] Spawn Parameter have inconsistent effect if spawning Actor from begin play

This is potentially not a bug, though I am reporting it because I struggled to spot this problem initially and I struggled to find documentation on it. A Remotely Owned actor may act inconsistently when it is being spawned from within a BeginPlay method.

Reproducible Example to showcase what I mean:

  1. Create a FirstPerson CPP Template project.
  2. On the projectile class add a particle emitter with some simple particle effect.
  3. In the CPP file Projectile.cpp create a spawnparam with bRemoteOwned enabled, and add it to the SpawnActor call(s) in the OnFire method, see provided image.

  1. Add an OnFire method call to the end of the BeginPlay function.
  2. Launch the game in editor. Notice how the first projectile spawns as expected and all subsequent SpawnProjectiles do not perform like the projectile created in the BeginPlay method.

When executing the spawn projectile from the BeginPlay function when the projectile is remotely owned it performs as it would with default ownership, when I would expect it to either behave the same as other calls outside the BeginPlay method (Stationary and with no particle effects) or to fail to spawn all together (with a warning in the logs).

If this is intended and the expected behaviour I apologise for the wasted time.

Kind regards,
Jakey113G

Hey jakey113G-

It appears that setting bRemoteOwned causes network replication / ownership conflicts resulting in the behavior of the projectile. A report has been created for this behavior that you can follow here: Unreal Engine Issues and Bug Tracker (UE-35928)

Cheers