playMaker

Author Topic: [SOLVED] PlayMakerFSM -> AssetBundle -> iOS, Action on Specific Target Crash  (Read 4249 times)

dejaime

  • Playmaker Newbie
  • *
  • Posts: 5
Hi,

I am having a problem with using AssetBundles and PlayMaker FSMs, that have actions using Specific Objects as targets.

I am using Unity 5.2.1f1 and Playmaker 1.7.8.3p2 (as per the unitypackage).

I have isolated the problem, and  created a(n almost) isolated project with the necessary logic.
[ADMIN: Download link removed. Please do not post projects that include the Playmaker plugins!]

If run the application, it will download two AssetBundles, both with a Rotate action to be started on MouseDown/Touch and stop on release.

The first bundle downloaded will Execute the action with "Use Owner" as the game object. It should work fine on both Android and iOS devices as well as on the editor.

After that, the second download starts, and it is basically the same thing. It has a cube that, on MouseDown/Touch will go to a state that executes the same Rotate action, but this time it does so under the "Specify Game Object" setting, with a child of that object as the target for the action.

This second bundle, works on android and on the editor, but it does not work on iOS, crashing consistently.

Notes:
 - The ftp link used is functional (at least for now) so you guys can test it on "deploy n' go".
 - The logic used to create the Asset Bundles is also included.
 - As is the logic used to download and instantiate it.
 - The prefabs used to create the downloaded objects is under the TEST_PREFABS unity folder.

Thank you for your time!
« Last Edit: February 03, 2016, 10:08:26 PM by Alex Chouls »

Alex Chouls

  • Administrator
  • Hero Member
  • *****
  • Posts: 3998
  • Official Playmaker Support
    • LinkedIn
Re: PlayMakerFSM -> AssetBundle -> iOS, Action on Specific Target Crash
« Reply #1 on: January 08, 2016, 12:34:52 PM »
Hi, I grabbed the project to look at but removed the download link since it included the full Playmaker installation. Please also remove the zip from dropbox. Thanks!

I'll take a look and let you know what I find.

A few things you can test on your end:
- Try building with mono instead of il2cpp to see if it's an il2cpp quirk.
- Try disabling any stripping to see if that's the problem.
- Have you played with the link.xml file at all?

From the error it seems like this could be a link.xml issue. Try the Linker Wizard here:
http://hutonggames.com/playmakerforum/index.php?topic=11126.msg53430
« Last Edit: January 08, 2016, 12:37:00 PM by Alex Chouls »

dejaime

  • Playmaker Newbie
  • *
  • Posts: 5
Re: PlayMakerFSM -> AssetBundle -> iOS, Action on Specific Target Crash
« Reply #2 on: January 08, 2016, 12:55:55 PM »
Hi, thank you for the fast answer.

Will try to disable il2cpp and stripping.

I didn't touch the link.xml file (don't even know where it is, tbh).

I will try Linker Wizard as well.

Thanks again, brb

@Edit:
Disabling IL2CPP did the trick, even though it now added some other unwanted behaviors like lost references to materials (3d objects are now magenta), but that is easier to deal with.

Should I expect a big cpu footprint for not using il2cpp? I'll be testing no stripping now.

@Edit 2: removing stripping alone didn't work (For the tldr googlers, deactivating il2cpp did)
« Last Edit: January 08, 2016, 03:06:16 PM by dejaime »

dejaime

  • Playmaker Newbie
  • *
  • Posts: 5
Re: PlayMakerFSM -> AssetBundle -> iOS, Action on Specific Target Crash
« Reply #3 on: February 01, 2016, 07:53:10 AM »
It turns out I can't send my application to the Apple Store without IL2CPP, as it will not run on any '64-bit capable' devices.

As per http://docs.unity3d.com/Manual/iphone-64bit.html

Has any fixes or workarounds for this issue been found?

Thank you

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: PlayMakerFSM -> AssetBundle -> iOS, Action on Specific Target Crash
« Reply #4 on: February 01, 2016, 09:22:01 AM »
Hi,

 it's likely that you must use the linker wizard, however you'll need to include in the linker all the likely classes you may end up using when you import bundles, as Unity and IOS do not support additional classes via bundles.

If you are only access UnityEngine classes, you can create a link that includes all UnityEngine classes, your build size will be bigger but you will be able to use bundles

 Bye,

 Jean

dejaime

  • Playmaker Newbie
  • *
  • Posts: 5
Re: PlayMakerFSM -> AssetBundle -> iOS, Action on Specific Target Crash
« Reply #5 on: February 01, 2016, 02:42:58 PM »
We actually retested it here, without stripping, and it is, in fact, working. There was probably an issue when we tested the no strip for the first time!

Thank you guys for your attention,
and sorry about any inconvenience.