Playmaker Forum

PlayMaker Help & Tips => PlayMaker Help => Topic started by: hyperhuzaifa on June 25, 2020, 06:28:59 AM

Title: Adding playmaker FSMs via assetbundles on AOT platforms?
Post by: hyperhuzaifa on June 25, 2020, 06:28:59 AM
Hi,
My usecase is, I want to make mini-games inside of unity and keep sending new ones out as assetbundles.

AFAIK - Playmaker is entirely data driven (correct me if am wrong) and every action is handwritten. I have also used other Visual Scripting tools - which use reflection and cause issues on AOT platforms where that code may have been excluded from compilation.

My Questions:

1. Are all playmaker actions included in the build - regardless of their use inside of IL2CPP/AOT builds? Can I be 100% sure that if it runs in the editor - I can ship the playmaker FSM inside of an assetbundle and it will just work?

2. Are ALL playmaker features free of reflection? l was looking at this video about the linker wizard. Or only these 3 actions - get property/set property and invoke method - are using it? I am assuming I should avoid SendMessage.

3. Other scripting tools face issues using previously unused generics in AOT mode, do you foresee any such issues?
Title: Re: Adding playmaker FSMs via assetbundles on AOT platforms?
Post by: djaydino on June 25, 2020, 09:30:26 AM
Hi.

1 All Standard 'Actions' are included in build, also of you added 'custom actions' (which you can find for example on the Ecosytem (https://hutonggames.fogbugz.com/default.asp?W1181) or on 3rd party assets) before making a build.

If you need new 'actions' you will need to make a new build to include them in the main build.

2 Yes they are not using reflection Except for Get/Set property, And ScriptControl Actions.
These are mainly to use for 3rd party assets if they don't have actions and don't know how to make action scripts (or want spend for someone to create them)

3 i have not tried myself yet but i know some people on the forum has been playing around with it.
Title: Re: Adding playmaker FSMs via assetbundles on AOT platforms?
Post by: hyperhuzaifa on June 25, 2020, 09:38:42 AM
Thanks!
Regarding point #1, how does playmaker ensure any unused actions don't get cut out during IL2CPP compilation?
Other VS tools have a AOT Prebuild option which creates stubs for them and even add link.xml files.

Am I missing something?
Title: Re: Adding playmaker FSMs via assetbundles on AOT platforms?
Post by: djaydino on June 25, 2020, 12:24:15 PM
Hi.
As far as i know it will add all actions used or not used.
Most actions are 1-2 kb and the default actions are around 1000 so it would use about 2mb.

Playmaker has a different approach than other vs tools.
Title: Re: Adding playmaker FSMs via assetbundles on AOT platforms?
Post by: hyperhuzaifa on June 25, 2020, 03:34:03 PM
Thanks. Will put that to the test :)