Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UnityAction with method name with "Play" inside don't execute on iOS

Discussion in 'Editor & General Support' started by SharonReytan, Mar 26, 2021.

  1. SharonReytan

    SharonReytan

    Joined:
    Feb 9, 2018
    Posts:
    1
    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.