My game works fine when I test it in Unity. However, when I port it to my iOS device, the start game event runs, then nothing happens. The character doesn't spawn, the HUDS don't appear, etc. I'm thinking the event stops near the end, when it's supposed to spawn the character. Any idea why it would work in Unity and not on my iPhone?
  • Check out the build troubleshooting how-to if something in there helps with your issue.

    Otherwise, did you get any errors (when running it in xcode with debug stuff)?
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Here's what I got in the output:

    019-06-08 12:36:30.953595-0500 ProductName[1060:525701] [DYMTLInitPlatform] platform initialization successful
    2019-06-08 12:36:31.017698-0500 ProductName[1060:525571] Built from '2019.1/release' branch, Version '2019.1.5f1 (0ca0f5646614)', Build type 'Release', Scripting Backend 'il2cpp'
    2019-06-08 12:36:31.024202-0500 ProductName[1060:525571] -> registered mono modules 0x102a63a80
    -> applicationDidFinishLaunching()
    2019-06-08 12:36:31.155714-0500 ProductName[1060:525571] Metal GPU Frame Capture Enabled
    2019-06-08 12:36:31.156312-0500 ProductName[1060:525571] Metal API Validation Disabled
    -> applicationDidBecomeActive()
    GfxDevice: creating device client; threaded=1
    Initializing Metal device caps: Apple A9 GPU
    Initialize engine version: 2019.1.5f1 (0ca0f5646614)
    UnloadTime: 1.924417 ms
    Plugin (Makinom): Assembly (ORKMakinomConnectionPlugin) or namespace (MakinomPlugin) not found:
    at System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, System.Boolean refonly) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.PluginSetting.LoadPlugin () [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.PluginSetting.SetData (ORKFramework.DataObject data) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.DataSerializer.SetDataObject[T] (ORKFramework.DataObject data, T instance) [0x00000] in <00000000000000000000000000000000>:0
    at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.DataHandler.LoadProject (ORKProjectAsset project) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.ORKCore.Initialize (ORKProjectAsset project, ORKFramework.ISecurityHandler securityHandler, System.Type[] dataTypes) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.ORK.Init (ORKProjectAsset project) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.ORK.Initialize (ORKProjectAsset project) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.Behaviours.GameStarter.Awake () [0x00000] in <00000000000000000000000000000000>:0
    ORKFramework.PluginSetting:SetData(DataObject)
    ORKFramework.DataSerializer:SetDataObject(DataObject, T)
    System.Reflection.MonoCMethod:InternalInvoke(Object, Object[])
    ORKFramework.DataHandler:LoadProject(ORKProjectAsset)
    ORKFramework.ORKCore:Initialize(ORKProjectAsset, ISecurityHandler, Type[])
    ORKFramework.ORK:Init(ORKProjectAsset)
    ORKFramework.ORK:Initialize(ORKProjectAsset)
    ORKFramework.Behaviours.GameStarter:Awake()

    (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 48)

    Plugin (Ork Framework): Assembly (ORKMakinomConnectionPlugin) or namespace (ORKPlugin) not found:
    at System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, System.Boolean refonly) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.PluginSetting.LoadPlugin () [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.PluginSetting.SetData (Makinom.DataObject data) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.DataSerializer.CreateInstance (Makinom.DataObject data, System.Type type) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.DataSerializer.CreateArrayInstance (Makinom.DataObject[] file, System.Type arrayType, System.Type elementType) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.DataSerializer.SetDataObject[T] (Makinom.DataObject data, T instance) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.PluginsSettings..ctor (ProjectAsset project) [0x00000] in <00000000000000000000000000000000>:0
    at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.ReflectionTypeHandler.CreateInstance (System.Type type, System.Type[] constTypes, System.Object[] constValues) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.DataHandler.LoadProject (ProjectAsset project) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.MakiCore.Initialize (ProjectAsset project, Makinom.ISecurityHandler securityHandler, System.Type[] dataTypes) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.Maki.Init (ProjectAsset project) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.Maki.Initialize (ProjectAsset project) [0x00000] in <00000000000000000000000000000000>:0
    at Makinom.Behaviours.GameStarter.Awake () [0x00000] in <00000000000000000000000000000000>:0
    Makinom.PluginSetting:SetData(DataObject)
    Makinom.DataSerializer:CreateInstance(DataObject, Type)
    Makinom.DataSerializer:CreateArrayInstance(DataObject[], Type, Type)
    Makinom.DataSerializer:SetDataObject(DataObject, T)
    Makinom.PluginsSettings:.ctor(ProjectAsset)
    System.Reflection.MonoCMethod:InternalInvoke(Object, Object[])
    Makinom.ReflectionTypeHandler:CreateInstance(Type, Type[], Object[])
    Makinom.DataHandler:LoadProject(ProjectAsset)
    Makinom.MakiCore:Initialize(ProjectAsset, ISecurityHandler, Type[])
    Makinom.Maki:Init(ProjectAsset)
    Makinom.Maki:Initialize(ProjectAsset)
    Makinom.Behaviours.GameStarter:Awake()

    (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 48)

    [initializing]
    BeliefEngine.HealthKit.HealthKitDataTypes:Initialize()

    (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 48)

    Unable to use a named GUIStyle without a current skin. Most likely you need to move your GUIStyle initialization code to OnGUI
    UnityEngine.GUIStyle:op_Implicit(String)
    ORKFramework.UI.MultiContent:.cctor()
    ORKFramework.DialogueContent:CalculateContent(Single, Boolean)
    ORKFramework.DialogueContent:Init(GUIBox)
    ORKFramework.GUIBox:Tick(Single)
    ORKFramework.GUIBox:InitIn()
    ORKFramework.MainMenuChoice:Show()
    ORKFramework.d__157:MoveNext()
    UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

    (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 48)

    2019-06-08 12:36:38.414946-0500 ProductName[1060:525698] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x11f274f50] get output frames failed, state 8196
    2019-06-08 12:36:38.415042-0500 ProductName[1060:525698] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x11f274f50] get output frames failed, state 8196
    2019-06-08 12:36:38.415277-0500 ProductName[1060:525698] TIC Read Status [1:0x0]: 1:57
    2019-06-08 12:36:38.415290-0500 ProductName[1060:525698] TIC Read Status [1:0x0]: 1:57
    2019-06-08 12:36:38.755083-0500 ProductName[1060:525691] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x11f27f500] get output frames failed, state 8196
    2019-06-08 12:36:38.755188-0500 ProductName[1060:525691] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x11f27f500] get output frames failed, state 8196
    2019-06-08 12:36:38.755466-0500 ProductName[1060:525691] TIC Read Status [2:0x0]: 1:57
    2019-06-08 12:36:38.755528-0500 ProductName[1060:525691] TIC Read Status [2:0x0]: 1:57
    Unloading 5 Unused Serialized files (Serialized files now loaded: 0)
    UnloadTime: 1.859500 ms

    Unloading 3 unused Assets to reduce memory usage. Loaded Objects now: 943.
    Total: 43.849667 ms (FindLiveObjects: 0.345917 ms CreateObjectMapping: 0.024500 ms MarkObjects: 43.431958 ms DeleteObjects: 0.046292 ms)

    2019-06-08 12:36:41.365305-0500 ProductName[1060:525571] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
    2019-06-08 12:36:41.367126-0500 ProductName[1060:525571] [MC] Reading from public effective user settings.
    NullReferenceException: Object reference not set to an instance of an object.
    at ORKFramework.Events.GameEvent.ExecuteNextStep () [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.GUIBox.Tick (System.Single t) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.GUIHandler.Tick (System.Single t) [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.GUIHandler.Tick () [0x00000] in <00000000000000000000000000000000>:0
    at ORKFramework.CoreUpdate.Invoke () [0x00000] in <00000000000000000000000000000000>:0

    (Filename: currently not available on il2cpp Line: -1)

    -> applicationWillResignActive()
    2019-06-08 12:36:44.874660-0500 ProductName[1060:525698] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C3.1:2][0x10861daf0] get output frames failed, state 8196
    2019-06-08 12:36:44.875446-0500 ProductName[1060:525698] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C3.1:2][0x10861daf0] get output frames failed, state 8196
    2019-06-08 12:36:44.876660-0500 ProductName[1060:525698] TIC Read Status [3:0x0]: 1:57
    2019-06-08 12:36:44.876774-0500 ProductName[1060:525698] TIC Read Status [3:0x0]: 1:57
    2019-06-08 12:36:45.206126-0500 ProductName[1060:525698] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C4.1:2][0x1205de010] get output frames failed, state 8196
    2019-06-08 12:36:45.206401-0500 ProductName[1060:525698] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C4.1:2][0x1205de010] get output frames failed, state 8196
    2019-06-08 12:36:45.207386-0500 ProductName[1060:525698] TIC Read Status [4:0x0]: 1:57
    2019-06-08 12:36:45.207434-0500 ProductName[1060:525698] TIC Read Status [4:0x0]: 1:57
    -> applicationDidEnterBackground()
    -> applicationWillTerminate()
    2019-06-08 12:36:45.764462-0500 ProductName[1060:525868] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C5.1:2][0x11f29a320] get output frames failed, state 8196
    2019-06-08 12:36:45.764666-0500 ProductName[1060:525868] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C5.1:2][0x11f29a320] get output frames failed, state 8196
    2019-06-08 12:36:45.765787-0500 ProductName[1060:525868] TIC Read Status [5:0x0]: 1:57
    2019-06-08 12:36:45.765833-0500 ProductName[1060:525868] TIC Read Status [5:0x0]: 1:57
    2019-06-08 12:36:45.998365-0500 ProductName[1060:525833] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C6.1:2][0x11f29a210] get output frames failed, state 8196
    2019-06-08 12:36:45.998561-0500 ProductName[1060:525833] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C6.1:2][0x11f29a210] get output frames failed, state 8196
    2019-06-08 12:36:45.999038-0500 ProductName[1060:525833] TIC Read Status [6:0x0]: 1:57
    2019-06-08 12:36:45.999080-0500 ProductName[1060:525833] TIC Read Status [6:0x0]: 1:57
    Setting up 1 worker threads for Enlighten.
    Thread -> id: 17098b000 -> priority: 1
  • Hm, well - part of it hints at the ORK-Makinom connection plugin missing. I guess you have that imported in your project and it works when playing in the editor?

    If that's the case, you need to make sure Unity doesn't strip away that code when building for iOS.
    First of all, select the DLL file (should be in either ORK or Makinom plugin folder) and check in the inspector if it's included in in iOS.
    Afterwards, check your iOS Player Settings in Unity, e.g. check the Managed Stripping Level (should be Normal) and maybe disable Strip Engine Code.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Yeah, it works fine when playing in the editor. It looks like the DLL file in the plugin folder is going to the os, but I don't know how to make sure. Could you send me a screenshot of what you're talking about?

    I tried disabling the Strip Engine Code, but that didn't make a difference.
  • Which Unity, ORK and Makinom versions are you using?
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • edited June 2019
    Unity: 2019.15f1
    Making: 1.14.1
    ORK: 2.25.0 (Updated from 2.24.1)
    Post edited by Dolorre on
  • Go to Edit > Project Settings in the Unity menu and select Player. Make sure the Managed Stripping Level is set to Low (or Disabled, but that is probably not available in IL2CPP scripting mode on iOS), should be in the Other Settings > Optimization part of the settings, relatively at the bottom.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Thanks! I've done that part, and I've made sure the DLL file is set for Any Platform. But It's still not working.
  • Hm, next thing I could think of would be adding it to the Preloaded Assets, also in the Player settings in Other Settings > Optimization.
    Expand the Preloaded Assets setting, increase the size by 1 and select the connection plugin DLL file.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Well, it's still not working. This is so confusing :(
  • edited June 2019
    Yeah ... ok, try moving the connection plugin into a Resources folder, as that should definitely be added to the built project :D

    Otherwise I'll have to do some testing, but it might be a few days before I'm able to get to that.
    Post edited by gamingislove on
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Alright, after some more reading about Unity's IL2CPP bytecode stripping, I think this can be solved using a link.xml file.

    Try this one here: download
    I'm not 100% sure on the syntax, but hopefully this should solve it :)
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • edited June 2019
    Let me try that.
    Post edited by Dolorre on
  • You. Are. Amazing! That fixed it! Thank you SO much! I'm sorry, but I'm just so happy right now.

    Thanks again!
  • Phew, glad it worked :)
    I've updated the build troubleshooting how-to with this information.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Sign In or Register to comment.