Download

Cannot get OnInputTouch to work on mobile.

RESOLVED (kind of)

Upgrade seemed to have corrupted the collision profiles on my actors. Rebuilding the GameEngine.ini fixed some, other actors I had to make all over again and replace the old with the new.

The problem:

OnInputTouchBegin/End doesn’t seem to work when run on device(Android), but does in editor.

Issue begun after upgrading to 4.14.

new info Issue seems to be related to Spawn Actor From Class. Pre-placed actors have working collision on collision boxes, but not spawned ones.

Things I’ve tried:

a. migrate my project already in 4.14 to a fresh 4.14. I only added the files needed to compile, and left most settings to default. This fixed touch interactions on a single item, but others still had the issue. The only difference I could find between the one that worked, and one that didn’t was the working one was set to physics and query while non-working was set to query only, and step-on was disabled on the working one. Though, I believe that has no relevance to the issue because even after matching collision settings the broken objects remained broken.

b. I’ve tried setting the input to UI and Game as I know that’s been an issue for many with 4.14. I’ve also tried creating all new custom collisions but that did not work either.

c. I have tried without having any widgets on screen as well, in the case they may have been blocking. My touch items use “GenericTouch” collision. I’ve tried setting defaults to ignore, overlay, and block – none seem to matter.

d. Auto receive input set to player 0.

e. remade player controller.

f. tried adding a collision sphere and set collision to ignore all but block visibility.

g. verified I was using OnInputTouch and not OnMouseClick.

h. pre-place actors that I’m having problems with (works but not a solution)

bumpity. Anyone have some thoughts on what might be causing this?

If it has to do with the Spawn Actor Node, what are you doing with the placed Actor that you are not doing with the Spawned one?
Any settings you change?

And when you say that it’s an issue with the collision of spawned Actors, does that happen in the Editor too or is it working there?
(Because if that happens in PIE too, then we can easier debug it)

I’m assuming it has something to do with being spawned rather than placed in level, as the issue only occurs when actors are spawned using Spawn Actor From Class. I can place an item in level at 0, 0, 0 world space and collision will work. If I spawn at 0, 0, 0 world space it does not.

Weirdly, collision still works on some components but not all. Sprites still detect clicks but colliders do not.

This problem only occurs when pushed to mobile, and only became present in 4.14. I had the same exact setup working fine in 4.13. Touch/click detection works fine in editor. I’m using OnInputTouch nodes, not MouseClicked nodes.

I’ve tried various spawn collision settings (default, always ignoring collision, adjust) none seem to make a difference.

Fixed the issue. See first post.