Alright, so I tried it out in one of my projects and I believe you’re right about the overlapped at start part. So what you can do is use the Get Overlapping Actors node in “Event Begin Play” & set the “Class Filter” for it to the “Ground without Grass” type. You can then For Loop through the overlapping actors array & execute your logic. As for the actors that are not overlapping right from the start, your begin overlap should handle it like it normally does.
However, even this approach runs into the same issue of the collision component not being fully activated at the Begin Play event since it’s not returning any overlapping actors. So while I’m not a fan of adding delays at start (due to not knowing how long something needs to activate), adding a single frame delay of 0.0 seconds seem to be enough for the collision component to start doing its job.