Stuck in Bolt -> iOS starting

Options
Greetings,

My Unity is 5.3.3, iOS is 9.2.1, Bolt is 0.4.3.12, everything is up to date

This build works perfectly in Unity, but when I compile for iOS and push it out to a device, when I click the "Server" button and launch Level_1, the following text is in Orange:


03/01/2016 7:44:25: System.MissingMethodException: Method not found: 'Default constructor not found...ctor() of UdpKit.Protocol.PeerConnect'.
at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in :0
at UdpKit.Protocol.Context.CreateMessage[T] () [0x00000] in :0
at UdpKit.Protocol.ProtocolService.Send[T] (UdpEndPoint endpoint) [0x00000] in :0
at UdpKit.UdpSocket+MasterClient.Connect (UdpEndPoint ep) [0x00000] in :0
at UdpKit.UdpSocket.OnEvent_MasterServer_Connect (UdpEvent ev) [0x00000] in :0
at UdpKit.UdpSocket.ProcessInternalEvents () [0x00000] in :0
at UdpKit.UdpSocket.NetworkLoop () [0x00000] in :0


I've dug through a great deal of materials and tried a lot of different fixes, but I cannot seem to get around this.

I could paste the whole log in, but that was a lot longer.

I am really hoping this is a basic error, that I've missed something.

Thanks


Comments

  • stanchion
    stanchion mod
    edited March 2016
    Options
    Can you double check that you have installed Bolt? http://forum.photonengine.com/discussion/comment/26463#Comment_26463
  • KStation
    KStation
    edited March 2016
    Options
    Yes. I also followed the troubleshooting doc http://doc.photonengine.com/en/bolt/current/reference/troubleshooting

    I am on 10.10.5 OSX since I forgot to include that.

    Would including the rest of the log help? It seemed pretty normal.

    The level did launch, and I could control the vehicle. But the server was not on the network, nor could a client connect to it.
  • KStation
    Options
    Here is more of the log, indicating the use of 'NativePlatform' and not being able to resolve a LAN address.
    ---

    Creating Global Behaviour: 'TokenCallbacks'
    BoltLog:Debug(String)
    BoltCore:CreateGlobalBehaviour(Type)
    BoltCore:UpdateActiveGlobalBehaviours(Int32)
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Registered token class TestToken as id 1
    BoltLog:Debug(String)
    Bolt.Factory:RegisterTokenClass(Type)
    BoltInternal.GlobalEventListenerBase:BoltStartBeginInvoke()
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 12:12:18: Binding physical socket using platform 'NativePlatform'

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 12:12:18: Physical socket bound to [EndPoint 0.0.0.0:54321 | 54321]

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 12:12:18: Could not resolve a possible LAN address by inspecting local network interfaces

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 12:12:18: physical socket started

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 12:12:18: System.MissingMethodException: Method not found: 'Default constructor not found...ctor() of UdpKit.Protocol.PeerConnect'.
    at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in :0
    at UdpKit.Protocol.Context.CreateMessage[T] () [0x00000] in :0
    at UdpKit.Protocol.ProtocolService.Send[T] (UdpEndPoint endpoint) [0x00000] in :0
    at UdpKit.UdpSocket.ProcessInternalEvents () [0x00000] in :0
    at UdpKit.UdpSocket.NetworkLoop () [0x00000] in :0

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)
  • stanchion
    stanchion mod
    edited March 2016
    Options
    "03/01/2016 7:44:25: System.MissingMethodException: Method not found: 'Default constructor not found...ctor() of UdpKit.Protocol.PeerConnect'." looks like the same issue people were having before we fixed IL2CPP for Bolt. Also what is the vehicle you're talking about?
  • KStation
    Options
    The vehicle is a cube with a controller on it similar to the demo.

    I've tried looking for portions of the error, found an old Bolt Chat log that didn't seem to get to it, and also some references to syntax errors with xml files. Otherwise I am empty handed. I tried turning a few things on and off like stripping.
  • stanchion
    Options
    Can you try this with a new project and import the newest Bolt?
  • KStation
    KStation
    edited March 2016
    Options
    I have just reconstructed the entire project two weeks ago because of an OpenGL ES 2.0 issue on iOS devices.

    I could make a generic file project from the Bolt 101 tutorial and try pushing that out to the iOS devices I suppose.

    Also: This project is totally fine in MacOS in the Unity editor, no errors at all. Does that make any difference?
  • stanchion
    Options
    that would be good to test. You have link_il2cpp.xml in your project correct?
  • KStation
    KStation
    edited March 2016
    Options
    I see link_il2cpp.xml at the top level of the bolt folder, yes.

  • KStation
    Options

    Ok built everything in a new project, re-imported and installed Bolt etc, kept the heavy geometry out etc, still get the same error.

    Here is the whole log.


    2016-03-01 15:40:34.076 ProductName[1378:1472793] -> registered mono modules 0x100efaf60
    2016-03-01 15:40:34.226 ProductName[1378:1472793] You've implemented -[ application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
    -> applicationDidFinishLaunching()
    -> applicationDidBecomeActive()
    Init: screen size 1136x640
    Initializing Metal device caps
    Initialize engine version: 5.3.3f1 (910d71450a97)
    UnloadTime: 4.087375 ms
    Setting up 1 worker threads for Enlighten.
    Thread -> id: 16ebe3000 -> priority: 1
    Bolt starting with a simulation rate of 60 steps per second
    BoltLog:Debug(String)
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Creating Global Behaviour: 'BoltConsole'
    BoltLog:Debug(String)
    BoltCore:CreateGlobalBehaviour(Type)
    BoltCore:UpdateActiveGlobalBehaviours(Int32)
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Creating Global Behaviour: 'BoltPoll'
    BoltLog:Debug(String)
    BoltCore:CreateGlobalBehaviour(Type)
    BoltCore:UpdateActiveGlobalBehaviours(Int32)
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Creating Global Behaviour: 'BoltSend'
    BoltLog:Debug(String)
    BoltCore:CreateGlobalBehaviour(Type)
    BoltCore:UpdateActiveGlobalBehaviours(Int32)
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Creating Global Behaviour: 'BoltSceneLoader'
    BoltLog:Debug(String)
    BoltCore:CreateGlobalBehaviour(Type)
    BoltCore:UpdateActiveGlobalBehaviours(Int32)
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 15:40:46: socket created

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Creating Global Behaviour: 'NetworkCallbacks'
    BoltLog:Debug(String)
    BoltCore:CreateGlobalBehaviour(Type)
    BoltCore:UpdateActiveGlobalBehaviours(Int32)
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Creating Global Behaviour: 'TokenCallbacks'
    BoltLog:Debug(String)
    BoltCore:CreateGlobalBehaviour(Type)
    BoltCore:UpdateActiveGlobalBehaviours(Int32)
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Registered token class TestToken as id 1
    BoltLog:Debug(String)
    Bolt.Factory:RegisterTokenClass(Type)
    BoltInternal.GlobalEventListenerBase:BoltStartBeginInvoke()
    BoltCore:BeginStart(ControlCommandStart)
    Bolt.ControlBehaviour:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 15:40:46: Binding physical socket using platform 'NativePlatform'

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 15:40:46: Physical socket bound to [EndPoint 0.0.0.0:54321 | 54321]

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 15:40:46: Could not resolve a possible LAN address by inspecting local network interfaces

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 15:40:46: physical socket started

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    03/01/2016 15:40:46: System.MissingMethodException: Method not found: 'Default constructor not found...ctor() of UdpKit.Protocol.PeerConnect'.
    at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in :0
    at UdpKit.Protocol.Context.CreateMessage[T] () [0x00000] in :0
    at UdpKit.Protocol.ProtocolService.Send[T] (UdpEndPoint endpoint) [0x00000] in :0
    at UdpKit.UdpSocket.ProcessInternalEvents () [0x00000] in :0
    at UdpKit.UdpSocket.NetworkLoop () [0x00000] in :0

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Loading Bolt.SceneLoadState (Level_1)
    BoltLog:Debug(String)
    BoltSceneLoader:Enqueue(SceneLoadState)
    BoltCore:LoadSceneInternal(SceneLoadState)
    BoltCore:LoadScene(Int32, IProtocolToken)
    BoltInternal.GlobalEventListenerBase:BoltStartDoneInvoke()
    BoltCore:Udp_SocketStartupDone(UdpEventStartDone)
    BoltCore:PollNetwork()
    BoltCore:Poll()
    BoltPoll:FixedUpdate()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Unloading 6 Unused Serialized files (Serialized files now loaded: 0)
    UnloadTime: 1.212083 ms

    Unloading 6 unused Assets to reduce memory usage. Loaded Objects now: 664.
    Total: 9.712833 ms (FindLiveObjects: 0.081208 ms CreateObjectMapping: 0.031541 ms MarkObjects: 8.425583 ms DeleteObjects: 0.644250 ms)

    Found 0 Scene Objects
    BoltLog:Debug(String)
    BoltCore:UpdateSceneObjectsLookup()
    BoltCore:SceneLoadDone(SceneLoadState)
    BoltSceneLoader:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Attached [Entity [NetworkId 0-0-0-1-0-0-0-1] LanderState] (Token: NULL)
    BoltLog:Debug(String)
    Bolt.Entity:Attach()
    BoltCore:Instantiate(PrefabId, TypeId, Vector3, Quaternion, InstantiateFlags, BoltConnection, IProtocolToken)
    NetworkCallbacks:SceneLoadLocalDone(String)
    BoltInternal.GlobalEventListenerBase:SceneLoadLocalDoneInvoke(String)
    BoltCore:SceneLoadDone(SceneLoadState)
    BoltSceneLoader:Update()

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)


    Behaviour not available in this dispatcher, ignoring call to Remove.
    BoltLog:Warn(String)
    Bolt.EventDispatcher:Remove(MonoBehaviour)
    BoltInternal.GlobalEventListenerBase:OnDisable()
    BoltCore:ShutdownImmediate()
  • KStation
    Options
    I am going to try the sample project.
  • KStation
    Options
    On a fresh install of Unity and fresh import of Bolt and a new project with the demo files and bolt installed, I still get the error.

    The only thing I haven't re-installed yet is XCode. I am going to try that next.
  • KStation
    Options
    Ok I've had time to delete all of Xcode and re-install.

    I am still getting the error.

    I do remember one small difference between my project and the demo project, the cube has a rigidbody, and the controller uses AddRelativeForce and not transform.translate.

    Could that be a problem?
  • stanchion
    Options
    I don't think so
  • KStation
    Options
    I'm going to push the demo project with the little soldier out next and try that.
  • KStation
    Options
    ok so in each instance, the menu has launched, I have selected a level, the level has launched, an error was thrown, then the level completed loading and was playable, but the game was not on the network.

    this includes the demo scene with Bolt, the error is :

    03/04/2016 14:33:31: System.MissingMethodException: Method not found: 'Default constructor not found...ctor() of UdpKit.Protocol.PeerConnect'.
    at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in :0
    at UdpKit.Protocol.Context.CreateMessage[T] () [0x00000] in :0
    at UdpKit.Protocol.ProtocolService.Send[T] (UdpEndPoint endpoint) [0x00000] in :0
    at UdpKit.UdpSocket+MasterClient.Connect (UdpEndPoint ep) [0x00000] in :0
    at UdpKit.UdpSocket.OnEvent_MasterServer_Connect (UdpEvent ev) [0x00000] in :0
    at UdpKit.UdpSocket.ProcessInternalEvents () [0x00000] in :0
    at UdpKit.UdpSocket.NetworkLoop () [0x00000] in :0
  • KStation
    KStation
    edited March 2016
    Options
    The Bolt 101 tutorial doesnt seem to address anything specific to iOS should I ask in a new thread? Though this error is slightly different now, I've reinstalled my entire work environment and haven't gotten around this. My understanding at purchase was that Bolt works with Unity 5 and iOS.

    Clearly I must not have all the settings or files in the right place.
  • stanchion
    Options
    Many people use Bolt with ios. Ill try building to ios with the latest tools
  • KStation
    Options
    Thanks stanchion - do the ios users pool their resources anywhere?

    As a final point, I just made a new project,
    added a plane, added a cube, added a simple javascript to rotate that cube, saved as level1,
    installed bolt, compiled bolt, restarted unity,
    made a new scene called it Menu, added boltinit to the camera, compiled bolt again. saved everything

    it executes the menu and opens level1 fine in unity,

    I switch the project to iOS, restart unity after the switch, push out to iOS, same error.

    I recompile everything, same error,
    I reinstall bolt same error.

    This is why I'm hoping there is a list of settings somewhere I don't have.

    If this is what is going to happen with a block, what is going to happen in six months when I'm in production and have a real problem? that's my concern.
  • stanchion
    Options
    Are you saying it works fine without the block?
  • KStation
    Options
    No - I am saying that with an entirely new project with just bolt installed and a rotating block on a plane, it still throws the error.

  • GoleX
    Options
    Hi KStation, one of the other iOS focused devs here. I also always get that error on iOS, I assume it's related to why LAN broadcast/connecting doesn't work for Bolt. Everything else still works fine though and it shouldn't block your development. Would be great to get it fixed though!
  • Ralph_K
    Options
    Hi, same error here. Did you find a way to fix this issue?
  • stanchion
    Options
    What error?
  • Ralph_K
    Options
    05/17/2017 09:07:27: System.MissingMethodException: Method not found: 'Default constructor not found...ctor() of UdpKit.Protocol.BroadcastSearch'.
    at UnityEngine.Purchasing.OSXStoreBindings.unityPurchasingPurchase (System.String json, System.String developerPayload) [0x00000] in :0
    at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in :0
    at System.Activator.CreateInstance (System.Type type) [0x00000] in :0
    at UdpKit.Protocol.Context.CreateMessage (Byte type) [0x00000] in :0
    at UdpKit.Protocol.Context.ParseMessage (System.Byte[] bytes, Int32& offset) [0x00000] in :0
    at UdpKit.Protocol.ProtocolClient.Recv (UdpEndPoint endpoint, System.Byte[] buffer, Int32 offset) [0x00000] in :0
    at UdpKit.UdpSocket+BroadcastManager.Update (UInt32 now) [0x00000] in :0
    at UdpKit.UdpSocket.NetworkLoop () [0x00000] in :0
    at System.Threading.ThreadStart.Invoke () [0x00000] in :0
    UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
    UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    UnityEngine.Debug:LogException(Exception)
    UnityEngine.Logger:Log(LogType, Object)
    LitJson.JsonData:System.Collections.IList.Remove(Object)
    UnityEngine.Debug:LogError(Object)
    Unity:BoltLog.IWriter.Error(String)
    BoltLog:Error(String)
    BoltCore:UdpLogWriter(UInt32, String)
    UdpKit.Writer:Invoke(UInt32, String)
    UdpKit.UdpLog:Write(UInt32, String)
    UdpKit.UdpLog:Error(String, Object[])
    UdpKit.UdpSocket:NetworkLoop()
    System.Threading.ThreadStart:Invoke()

    This occurs when host started broadcast and client starts searching.
    hm.. not sure what unity purchasing is doing here... ?
  • stanchion
    Options
    Can you send repro project to support@boltengine.com with steps to repro issue?
  • Ralph_K
    Options
    Ok, repro sent.