Ok, So I Have this little System for scrubbing stains, when I place them into the level from the content Browser, they respond and work correctly, return a print string to show overlap begin and end, etc.
However, I decided it be fun, if the player drops an object, to spawn a stain at that location, used the spawn actor from class node, set up the transform to orientate it, all works perfectly.
Except the stains spawned from actor class node, dont respond at all, its as if the overlap events are not being triggered.
I thought at first it might be that the actor reference isnt getting set for them (Since the actor reference is set manually in editor when placed into the level from the content browser and these are getting spawned and missing that step.
So I set a begin play event for the player, to cast into an existing stain, get the actor reference, then on future stains, their event play is to grab that reference from the player character and set it to their own.
This didnt seem to resolve the issues, so im not sure what the issue is. Ive noticed its the ‘Stain_BP_c’ thats set as the object to be spawned, whenever i place it into the level I dont use the _C variant? is this the issue? I mean this seems like it should just function. All the code is in the blueprint, spawn the actor from the blueprint, run the same code. Its ridiculous to me that this kind of obvious functionality is leading to such a massive ball ache simply by not being there.
I mean Im SURE im doing something WRONG, or NOT doing something I SHOULD. But come ON! A spawned object to behave as it blueprint dictates? Am I A minority here thinking that should be BASIC functionality???
EDIT
Additional Info:
-Tried setting a line trace connected to the N key, casting to the stains blueprint on hit, print to return for a success and a print on cast fail, the comparison ALWAYS FAILS, this is being handled in the first person character blueprint.
-Tried setting a line trace to CLASS, targeted the stains bp class as the target, cast always fails.
My current assumption is that not only is it not registering any of the blueprint code when its spawned, its not even coming with any collision.
Dragged the out hit of the spawn actor from class node, set it as the target for enable collision to channel, and attempted to manually set its collision to the visible channel after its been created, no effect.
Is it better to set this up as a decal somehow instead? How would I Do this? This seems like such a cut n dry ‘this should JUST WORK’ issue im kinda aghast it doesnt.