- Home /
UnityAction with method name with "Play" inside don't execute on iOS
I know that this issue might sound odd, but I thought it's worth mentioning in case anyone else is tearing their hair out like I did this past week :) I am using Unity 2020.3.1f1 (LTS) and Xcode 12.4 (latest for this point in time)
I am using unity events to execute most of the actions in my game. I call methods in the scripts from there. In the editor - all works perfectly, on iPhone / iPad - some functionalities were missing. The functionalities that were missing are:
Animator.Play(string) which played animations for me. I switched it to Animator.SetTrigget(string) and it fixed it for me
AudioSource.Play() that made all sounds to not be played. I decorated it with a simple script that its method for playing the audio source is called SetSound(), boom. Audio is back in. It's worth saying that AudioSource.PlayDelayed(0) didn't do the trick.
It was a hell finding this! I was googling like crazy but in the end it appeared that the guess that I thought is the most stupid one, there it was. It actually fixed it. I can't explain why and I hope it will be fixed, and that I could save this mystery from anyone else.
Unity - please fix it!! it was a real hard one (just saying that it's after I couldn't even build because of a 64GB ShaderCache in 2020.3.1f0 that made me build infinitely). This version is a mess.