Bolt and IL2CPP

bertelmonster2k
edited March 2016 in Photon Bolt
There is some interest to get Bolt running on iOS. But currently there are IL2CPP issues.

Short answer:
Unity has IL2CPP bugs and constantly releasing patches fixing them (amongst other issues). Bolt is suffering from issues and bugs here and we have to wait until they are fixed by Unity.

Long(er) answer:
Yes, we always try the latest Unity patch release 5.x: https://unity3d.com/unity/qa/patch-releases
If possible/clear we raise issues to Unity and hope Bolt will run rather sooner than later.

Fredrik just tried to work around the remaining issues this week as well - but got stuck. So put this on hold and wait for the next patch.

Comments

  • I love that you're giving us some progress updates. Thank you. Very much appreciated.
  • Thank you for the update :)
  • Thanks for the updates very helpful. Looking forward to this getting resolved.
  • Will Unity 5.2 help?
    https://unity3d.com/unity/whats-new/unity-5.2
    Some fixes that raise my hope:

    IL2CPP: Make engine stripping in iOS/WebGL a separate setting (PlayerSettings.stripEngineCode) from Mono stripping levels
    iOS/IL2CPP: Enable generic sharing for types and methods whose generic parameters have constraints
    iOS/IL2CPP: Enable MakeGenericType and MakeGenericMethod for types and methods whose generic parameters have constraints
    iOS/IL2CPP: Improve conversion time of IL2CPP, especially in generics heavy code
    IL2CPP: Correct a C++ compiler error in generated code: "No matching function for call to 'il2cpp_codegen_raise_exception'"
    IL2CPP: Fix crash when using OnCollisionEnter with no parameters
    IL2CPP: Fix crash when using OnCollisionEnter2D with no parameters
    IL2CPP: Prevent the exception "ArgumentException: Value does not fall within the expected range." during a call to the JoinMulticastGroup method
    IL2CPP: Throw exceptions when classes are stripped instead of crashing

    Going to try Bolt 4.3.6 on Unity 5.2 on iOS. Fingers crossed. It would really help if you guys told us which bug tickets are causing the problems. iOS is a launch platform for us. Really wish this would get fixed ASAP.
  • Just an update after I tried building to my iPad 2 with iOS 6 via my Mac Mini with OSX 10.10 & XCode 7 Beta.

    I tried Bolt 4.3.6 with unity 5.2. On iOS - I can build with both - IL2CPP and Mono2x as a scripting backend. On IL2CPP I can host but no one can join me. I can't join anyone either (clients say its a Bad Address).

    Using Mono2x, I can join someone but it stops right after loading the scene but before instantiation of the player prefab (and I am stuck with a blank scene). If I host on Mono2x however, the build crashes immediately after my player prefab is loaded. I am yet to investigate further to see if its a memory issue or a bolt issue.

    Interestingly everything works fine on OSX Editor but behaves like I described above on my iPad 2 with iOS 6. Will try other devices soon - mainly iPhone 6 Plus with iOS 8.1.

    But this is great progress compared to how things were with Unity 5.1 and Bolt 4.3.3
  • We can confirm there are still issues.
    It is better than before - so wait for the next patch.
  • Awesome! Next patch from whom? Unity or Bolt or both? :)
  • Yes I have the same issues with bad address. Getting closer....
  • Thanks for the update.
    iOS will be my primary release platform so this is very critical for me(probably many of us).
    After your first post, 5.2 released. Is there any progress on this issue?
  • I believe 5.3 alpha is available to Unity Pro subscribers
  • Any news?
  • tvOS and iOS should work fine as of 0.4.3.9
  • IL2CPP might strip too much API from the build. If you run into issues with missing API in the runtime or even at compile time, please rename the link_il2cpp.xml to link.xml. If you have a link.xml file, please merge this one with yours.
    IL2CPP always attempts to strip code that's unused but is not 100% accurate for libs and APIs.
    See: http://docs.unity3d.com/Manual/iphone-playerSizeOptimization.html
  • Great news looking forward to trying it out. Thanks for the effort.
  • We are testing an updated package. If all works well, I'll release it tomorrow.
    Will update you guys.
  • Finally. We released v0.4.3.10 and it should have all IL2CPP compile issues fixed!
    Let us know if anything is odd.

    In the next release, we could include a udpkit library for TV OS, if there is some interest?! :)
  • Hi,

    We are running Unity 2018.2.1.1f1 and we have a bunch of linkings errors when trying to build for IOS.

    Any people having similar issues? Any fixes?

    Thx.
  • We're looking into the issue. It appears to only occur for .NET 4.0 and Unity 2018.