playMaker

Author Topic: [SOLVED] Conditional expression action can't be built (asset not present)  (Read 169 times)

Broken Stylus

  • Sr. Member
  • ****
  • Posts: 268
    • View Profile
Unity 2019.2.5f1
Playmaker 1.9.p19
Build to Android, test on Samsung A5 1st gen.

I'm using a development build plus two assets which proved very useful. One providing a full report of the build, another displaying a log within the apk at runtime, on the device.
I also added checkpoints in several FSM that belong to a "meta" loop, sending messages to the log, so I would know where the flow seems to be lost.

I saved the log and saw that the issue is related to one single element:
The conditional expression action (and possibly the DLLs).

Code: [Select]
MissingAction: Could Not Create Action: ConditionalExpression (Maybe the script was removed?)
UnityEngine.Debug:LogError(Object, Object)
HutongGames.PlayMaker.ActionReport:LogError(PlayMakerFSM, FsmState, FsmStateAction, Int32, String, String)
HutongGames.PlayMaker.ActionData:LogError(Context, String)
HutongGames.PlayMaker.ActionData:CreateAction(Context, Int32)
HutongGames.PlayMaker.ActionData:LoadActions(FsmState)
HutongGames.PlayMaker.FsmState:LoadActions()
HutongGames.PlayMaker.Fsm:InitData()
HutongGames.PlayMaker.Fsm:Init(MonoBehaviour)
PlayMakerFSM:Init()
PlayMakerFSM:Awake()

The build tool allowed to look for assets present in the build, so I looked for "expression" and there's simply nothing.
It seems the DLLs do not get exported.

So thanks to the checkpoints, I know where the flow is lost and it is indeed in a state that has the conditional expression action.

The Profiler has shown the game ceiling at 33ms constantly, as it seems stuck in a process that might be looping and could be one of those that do require more CPU. It's not much of a problem because it's supposed to happen during one frame, two tops, but it's stuck there apparently.

Last but not least, the game takes an awful time to load after the splashscreen phase.

Any idea on how I could force this action and its relevant DLLs (or other stuff) to be put into the Android build?

Scripting backend: IL2CPP
Api compatibility level: .Net Standard 2.0
C++ compiler configuration: Debug

I used LZ4 for the quicker compression.

Thanks!
« Last Edit: September 24, 2019, 08:49:50 AM by Broken Stylus »

Broken Stylus

  • Sr. Member
  • ****
  • Posts: 268
    • View Profile
Re: Conditional expression action can't be built (asset not present)
« Reply #1 on: September 24, 2019, 08:03:02 AM »
I'm reading this: https://hutonggames.com/playmakerforum/index.php?topic=13879.0
Didn't think the Linker wizard would be needed for this action and above all on Android, I remember it only concerned Get/Set property and iOS.
Will see what happens.

Sidepoint: the Linker Wizard might have a small UI issue here:

Broken Stylus

  • Sr. Member
  • ****
  • Posts: 268
    • View Profile
Re: Conditional expression action can't be built (asset not present)
« Reply #2 on: September 24, 2019, 08:17:48 AM »
Any reason the link.xml file gets saved to 'Assets > Plugins > Easy Save 3' ?
Is this normal? Or was it that a link file already existed there and therefore the wizard simply found this one and edited it?

Broken Stylus

  • Sr. Member
  • ****
  • Posts: 268
    • View Profile
Re: Conditional expression action can't be built (asset not present)
« Reply #3 on: September 24, 2019, 08:49:38 AM »
The linker saved the day. It works.