playMaker

Author Topic: Playmaker & LuminOS for Magicleap Fail to make Build [SOLVED]  (Read 249 times)

ricard2798

  • Playmaker Newbie
  • *
  • Posts: 9
    • View Profile
Playmaker & LuminOS for Magicleap Fail to make Build [SOLVED]
« on: August 26, 2018, 10:03:35 PM »
So I have started to use Playmaker to build AR content for the magicleap headset.  As I run the scenes inside unity and transmit to the headset, everything works fine, but the moment I attempt to make a build I get over 6000 erros consisting anywhere from namespace name `AnimationEnums' does not exist in the namespace `HutongGames.PlayMaker'  all the way to The type or namespace name `FsmStateAction' could not be found. Are you missing an assembly reference?

Oddly enough, if i switch the project settings to make PC/Mac/Standalone build, everything works, but if I try to use the Lumin OS platform, i get these errors.  Any help would be appreciated, since i heavily rely on playmaker, and it would be a shame for it not to be compatible with the Magicleap platform.
« Last Edit: August 27, 2018, 11:55:30 AM by ricard2798 »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 13323
  • Official Playmaker Support
    • View Profile
Re: Playmaker & LuminOS for Magicleap Fail to make Build
« Reply #1 on: August 26, 2018, 11:42:14 PM »
Hi,

 Can you file a bug report via the PlayMaker Menu ( tools/Submit bug Report)

I think it's a matter of tweaking the playmaker dll setup so that the right one is used. But I am not sure which one, Alex will know or at least have some clue on what could possibly done to make it work.

 Bye,

 Jean

ricard2798

  • Playmaker Newbie
  • *
  • Posts: 9
    • View Profile
Re: Playmaker & LuminOS for Magicleap Fail to make Build
« Reply #2 on: August 27, 2018, 05:57:30 AM »
I have just submitted the Bug report.  since there are over 6k errors, i also included a download link to the error log.

Thanks

joduffy

  • Full Member
  • ***
  • Posts: 121
  • Here to help
    • View Profile
    • Online Playmaker Courses
Re: Playmaker & LuminOS for Magicleap Fail to make Build
« Reply #3 on: August 27, 2018, 08:38:28 AM »
Hi,

Jean asked me to help out so here I am. Here is the solution that Alex gave me to get playmaker working with Magic Leap:

Quote
Okay, so you have to do a couple of things...

The main thing is there is no PlayMaker dll set to compile with Lumin OS

To fix this, select Plugins\PlayMaker\WebGL\PlayMaker, check Lumin and hit Apply:



Quote
The WebGL PlayMaker dll works with il2cpp builds, which it looks like Lumin uses.

This will reduce the number of build errors to 14.
These are actions that are not supported in Lumin builds.
E.g. MovieTexture actions.

If you select one of these actions you'll see #if listing all the platforms that don't support that action. I'm not sure what the symbol for magic leap is (something like UNITY_MAGICLEAP probably). Have you come across it in any docs or samples?

Anyway, the quickest way to fix these errors is to add UNITY_WEBGL to PlayerSettings > Other Settings > Scripting Define Symbols.
Add ";UNITY_WEBGL" to the end of the list (without the quotes).

Obviously, it would be better to add the MagicLeap symbol to the offending actions instead! But this should at least get you building to see if there are any other issues...

I posted in the email (hopefully this was ok with Alex) to highlight the Symbols which need to be found for magic leap to remove the manually adding of UNITY_WEBGL. If you come across it please let everyone know.

I have been focused on finishing off the Magic Leap Playmaker Proxy I have been making (Jean and Alex have been a help here in figuring out how to structure it), so I haven't dug too deep into trying to find the Symbol. I imagine it would be UNITY_LUMIN due to the name of the platform.

Let me know if the above solution works for you or not. I was lucky enough to be part of the Magic Leap user trial they did.
- Jonathan

Online Playmaker Courses available at:
http://courses.jonathanoduffy.com

“I want the world to be a better place because I was here.”  -  Will Smith

ricard2798

  • Playmaker Newbie
  • *
  • Posts: 9
    • View Profile
Re: Playmaker & LuminOS for Magicleap Fail to make Build
« Reply #4 on: August 27, 2018, 10:48:22 AM »
this worked tremendously well :)  I am currently doing my build and will test later.
i am glad (you have no idea how much) that Mleap is giving early access to you to support playmaker further into Mleaps ecosystem.  This is super important, specially with the mission statement of Mleap about focusing on creators and artists!!!
I personall have been relying in playmaker for a number of years for all my Vr and AR projects, and it is amazing how this tool has allowed me to make content that has even made it to the Main Mixed reality media (Upload, VRFOCUS, etc), and even keynotes for HTC :)
If i can even be of help, let me know.  I alreay have a couple of contaccts that want me to help them learn playmaker for Leap, so i hope my efforts help the cause :)
Thank you

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 13323
  • Official Playmaker Support
    • View Profile
Re: Playmaker & LuminOS for Magicleap Fail to make Build [SOLVED]
« Reply #5 on: August 28, 2018, 12:22:54 AM »
Hi,

Cool, I am glad this all works out.

 Bye,

 Jean

MHall

  • Playmaker Newbie
  • *
  • Posts: 1
    • View Profile
I have followed the steps here including adding the PLATFORM_LUMIN symbol to the offending actions allowing me to successfully build but I still am getting this error

 FSM not Preprocessed: NextButton (2) : FSM
 System.Diagnostics.StackTrace:.ctor(Int32, Boolean)
 UnityEngine.StackTraceUtility:ExtractStackTrace()
 UnityEngine.CSSLayout.Native:.cctor()
 UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
 UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
 UnityEngine.Logger:Log(LogType, Object)
 UnityEngine.Debug:Log(Object)
 PlayMakerFSM:AddEventHandlerComponents()
 PlayMakerFSM:Init()
 PlayMakerFSM:Awake()
 System.Linq.SortContext`1:Compare(Int32, Int32)
 UnityEngine.CSSLayout.Native:.cctor()
 UnityEngine.Object:Internal_CloneSingle(Object)
 UnityEngine.Object:Instantiate(T)