It's because you're using move to direct which doesn't take into account any solids. You should continue using pathfinding and find a path to the player, not move to. Although there is a pathfinding action under move to which might work but I've never tried it, it's fairly new.
In your original post you said the problem was seeing them with LOS through solid objects. You said the walking around them (pathfinding behaviour) is working as expected, I don't see why this would change now. If the pathfinding behaviour has obstacles set to solid then it will set a path around those obstacles.
Not sure what you mean, an object cannot be custom. The obstacles mentioned should be solid. I said to set the line of sight behaviour to detect custom obstacles instead of solids, this removes the solids as obstacles and the enemy can then see through them.
Instead of insert use 'push' to the back of the array, back is default anyway.
Add system > trigger once while true
Says access denied on those images
You didn't mention how you are adding the elements into the array. Posting a screenshot of the events will help and show what is wrong and what you are expecting to happen.
You can either have a global variable that adds 1 every time you collect an item. Then say when global variable is 20, play the sound. Or you can count how many items are in the level, which is items.count and set this to a variable, when the variable is 0 that means no items remaining and you can play the sound.
The pathfinding behaviour should still be detecting solid as obstacles and walking around them, I don't see why that would change.
What it sounds like you're saying is you are pushing to the front of the array, when it should be the back.
Develop games in your browser. Powerful, performant & highly capable.
You need to set up some kind of invisible entry sprite and set the player position to this on start of layout
If you add rows at 0 and 1 then any new data would be from 2. Or if you're inserting just start from 2.
On the spawn block event, instead of spawning sprite A, you set a variable to choose(1,2,3) and then the outcome is if 1, spawn sprite A selection, if 2, spawn sprite B selection, if 3, spawn sprite C selection.
You can have a global player (set to global in properties) that travels between layouts, that works as long as you don't have any players already in the layout.
I don't know how can I add any more details. Store the layout name that you want to go to then go to the layout by name ""&variable when you click the button.