Then if I make some transformation with the spawned actor, then the Get Overlapping Actors node returns with that actor what was spawned, and was unrecognised before.
Is it a bug, or there is some correct solution for this problem? (I would like to keep the project blueprint only, so the c++ collision update isnt a choise unfortunatelly)
whenever you call spawn actor it is put into an engine action queue with a 1 frame delay.
you are most likely requesting the overlap for something that doesn’t exist yet. like sending out an email, and expecting a response within the millisecond.
so it won’t exist until the next tick(), so to capture the next tick, put in a Delay(.01) which will trigger on the next tick() after its InitializeComponent() and BeginPlay() can be executed.
my only thought is that the actor is either asleep in regards to physics (this should only happen after like 30 seconds of no motion), or it is to far away from the playerController (in the vast majority of games that will just be the PlayerCharacter)
is this actor being spawned at world start, or at an arbitrary point after the first round of BeginPlay()
if the actor is meant to be in a collider when it spawns, then you can have the actor check for if it was overlapping in its own BeginPlay() that way it will be fully instantiated, and fully in the world.
I made a fresh project, and the good news:
The way I would like to use the collision, it is working right.
Bad news:
In this case I mess something up in my main project.
Thank you for your answers, and if you interested in share the solution (after I have found it), it would be a pleasure of mine to share it with you
it might be a bit embarrassing, but this forum is meant to help not just the person asking the question now, but those that have the same or similar question in the future as well (presuming the engine doesn’t change enough to invalidate the answer)
it would be helpful if you would include the part that was incorrect, and your solution and mark it as the answer.