playMaker

Author Topic: Fixing IL2CPP linking errors[SOLVED]  (Read 76917 times)

indeed

  • Junior Playmaker
  • **
  • Posts: 80
    • View Profile
Re: Fixing IL2CPP linking errors[SOLVED]
« Reply #90 on: July 30, 2016, 02:55:39 PM »
Hey Jean, I found a solution to this. I'm not a coder so I don't know why it works, but it does. On this page: https://docs.unity3d.com/ScriptReference/EllipsoidParticleEmitter.html
I saw that it said "Inherits from: ParticleEmitter". I don't really know what that means, but just to see what happened I added this line to the XML:

    <type fullname="UnityEngine.ParticleEmitter" preserve="all" />

The Wizard had only added this line:
<type fullname="UnityEngine.EllipsoidParticleEmitter" preserve="all" />

And now the Set Property actions work for that emitter in IL2CPP on iOS


« Last Edit: March 09, 2017, 07:01:47 AM by jeanfabre »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15398
  • Official Playmaker Support
    • View Profile
Re: Fixing IL2CPP linking errors
« Reply #91 on: August 02, 2016, 01:33:20 AM »
Hi,

 ok, thanks for debugging this one out. There are some weird stuff with class referencing in some part of the Unity api... so I had to hardcode some of them already.

This case will be added in the next update of the Wizard

Bye,

 Jean

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15398
  • Official Playmaker Support
    • View Profile
Re: Fixing IL2CPP linking errors
« Reply #92 on: August 04, 2016, 01:55:47 AM »
Hi,

Can you make a screenshot of your action using the ellipsoid particle? I am trying to use SetProperty, but it only picks up the Particule Emittor not the ellipsoid version.

What version of Unity are you using?

 Bye,

 Jean

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15398
  • Official Playmaker Support
    • View Profile
Re: Fixing IL2CPP linking errors
« Reply #93 on: August 04, 2016, 02:43:29 AM »
Hi,

 Ok, I got it, it's only an issue on 4.7, and I guess you are on 5x

Can you test this package and tell me if things works now, you should have now both the class and its derived class.

You'll need the latest version of PlayMaker as well, since I also updated the modified actions to use the latest official versions from 1.8


Code: [Select]
<linker>
  <assembly fullname="UnityEngine">
    <type fullname="UnityEngine.ParticleEmitter" preserve="all" />
    <type fullname="UnityEngine.EllipsoidParticleEmitter" preserve="all" />
  </assembly>
</linker>

The package is available on the Ecosystem.

 Thanks,

 Jean
« Last Edit: September 26, 2016, 01:59:15 AM by jeanfabre »

Yugandhar

  • Playmaker Newbie
  • *
  • Posts: 8
    • View Profile
Re: Fixing IL2CPP linking errors
« Reply #94 on: March 09, 2017, 12:28:10 AM »
Excellent solution. It saves our R&D time. Working great. Thanks!!

dev08

  • Playmaker Newbie
  • *
  • Posts: 2
    • View Profile
Re: Fixing IL2CPP linking errors[SOLVED]
« Reply #95 on: July 13, 2020, 12:47:09 AM »
Hi guys,

I'm having issues with stripping with Unity 2019.4.3f1 on ios.

The code stripping level is set to Medium.

Here is a portion of XCode console output.
Code: [Select]
MissingMethodException: Default constructor not found for type HutongGames.PlayMaker.Actions.MissingAction
  at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) [0x00000] in <00000000000000000000000000000000>:0
  at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00000] in <00000000000000000000000000000000>:0
  at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00000] in <00000000000000000000000000000000>:0

link.xml files ued by Unity when building the code.

Code: [Select]
<linker>
  <assembly fullname="mscorlib">
    <namespace fullname="System.Security.Cryptography" preserve="all" />
  </assembly>
  <assembly fullname="System">
    <namespace fullname="System.Configuration" preserve="all" />
    <namespace fullname="System.ComponentModel" preserve="all" />
    <namespace fullname="System.Net.Configuration" preserve="all" />
  </assembly>
  <assembly fullname="UnityEngine">
    <namespace fullname="UnityEngine.RectTransform" preserve="all" />
  </assembly>
  <assembly fullname="ConditionalExpression">
    <type fullname="PlayMaker.ConditionalExpression.ConditionalExpression" preserve="all" />
  </assembly>
  <assembly fullname="PlayMaker">
    <type fullname="PlayMakerFSM" preserve="all" />
  </assembly>
</linker>

FSM State that causes this issue attached below.

Thanks in advance.

« Last Edit: July 13, 2020, 12:48:57 AM by dev08 »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15398
  • Official Playmaker Support
    • View Profile
Re: Fixing IL2CPP linking errors[SOLVED]
« Reply #96 on: July 13, 2020, 11:36:39 PM »
Hi,

 that's very odd, first time I see this error.

Do you get this only when stripping is set to medium?

Bye,

 Jean

dev08

  • Playmaker Newbie
  • *
  • Posts: 2
    • View Profile
Re: Fixing IL2CPP linking errors[SOLVED]
« Reply #97 on: July 14, 2020, 12:32:14 AM »
nope, it happens with High as well, only when stripping is low it works as expected.

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15398
  • Official Playmaker Support
    • View Profile
Re: Fixing IL2CPP linking errors[SOLVED]
« Reply #98 on: July 14, 2020, 11:44:37 PM »
Hi,

 something is odd here, MissingAction should not be required to begin with, it's something used during editing when a missing action is detected.

 Do you have errors in the playmaker editor?  Is it saying that you are missing some actions? if yes, fix that first ( clean up or import the missing actions) and try again.

Let me know how it goes,

Bye,

 Jean