Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - dasbin

Pages: [1] 2
In the Editor, the Platform Dependent Events action works correctly and will call the appropriate event for the platform being built for (in this case, UNITY_IPHONE) or UNITY_EDITOR.

However, once I actually make a build for IOS and run either on my phone or Simulator, the event just hangs and does not pass anything at all.

I should note I am building for IL2CPP, not Mono, and using Unity 5.1.2.

PlayMaker Bug Reporting / Audio Play doesn't Finish()
« on: July 06, 2015, 02:36:48 PM »
Found a bug in the Audio Play action.
My states were all getting hung up on the action unless I was using the Finished Event feature of the action (which only fires the event when the audio is done playing... usually not desirable behavior, sometimes I want something else to happen right after starting a sound). My usual work-around was to manually send a delayed event right before using the action.

Looking at the code of the action, it will never call Finish() unless it either fails to play anything, or alongside calling the Finished Event selected. Normally, it will return out of all functions instead before Finish() is called.
If you don't specify a Finished Event it will hang on the action forever, and if you do it will only finish when the audio is done playing. Definitely a bug and not predictable behaviour.

PlayMaker Bug Reporting / "Real Time" no longer working
« on: November 25, 2013, 12:40:38 PM »

After updating to 1.7.6, the "Real Time" setting on the iTween action "Move To" (and possibly others) no longer works as intended. In other words, iTween will no longer animate when the game's Timescale == 0, even with "Real Time" checked.

Additionally I noticed that actions such as Float Interpolate will become much more "stepped" when timescale == 0 and Real Time is checked. Meaning the intervals between updating the result is noticeably longer and not as smooth. I don't recall this previously being the case, though I could be wrong on that one.

If this isn't PM's fault, perhaps it is interacting in some way with NGUI, which I also updated recently. I see a new auto-created GameObject appearing in my scenes called "_RealTime" created by NGUI, which I assume NGUI is now using a different method of tracking time. Perhaps the real time tracking of this script is interfering with PM's methods?

Feature Requests / "RUN CODE" Action ability
« on: August 28, 2013, 08:38:30 AM »
I know this might sound a bit absurd, and maybe it is technically impossible, but hear me out for a second.
Been thinking of this for a while. There are many instances I've run into where I just want to run some very small operations or math for which I don't yet have an action or a script. Creating either (and/or linking into a script) is quite a time-drain and organizationally annoying if it is only needed to do one or two simple lines of code that will never be used again.

So what about an Action that has a text field which will compile into a function? Combined with the new ability of Call Method, this action could have several FSM inputs and returns. I guess it would have to do some editor-time stuff so Unity can compile it. Maybe it auto-generates small CS files.
Obviously you can't input a variable into the code text field but that's fine - it's not for flexibility but convenience. The field should probably be size-limited to something like 8 lines so people don't go crazy with it.



Sometimes, an FSM will work fine (correctly send an event), but when I open up the state to view the Send Event action, the Event field will suddenly appear blank (even though it is previously set) and suddenly PM throws the "blank required field" error. If I attempt to re-select the Event from the list, the Global Event that I want to send to will not even appear in the list any more!  I have to go to the FSM that contains the Global Events, then "look at" the Events list on that FSM... then, when I go back to the Send Event action, those Global Events that I "looked at" are suddenly visible again and able to be chosen (and usually, the one is was previously set to will appear to be set again).

In this case the FSM sending the event is attached to a prefab (though I am editing it as an instance, not from the Prefabs list), but it is not a template, and it is not referring to any specific object (it is set to Broadcast All in this case).

I am getting more and more of these mysterious "Things are disappearing" type of bugs (see my previous thread, ) as the number of FSM's, global variables, and global events increases in my project to many hundreds of each.

Although the bug happens all the time inside different FSM's, it is not strictly reproducible because the events re-appear after looking at them and there is nothing specific I can do to get them to disappear again - it just seems to happen randomly.


On re-loading a level (not async, not additive) where NOTHING is set to DontDestroyOnLoad, and ALL FSM's are set to Reset on Disable - I get all kinds of errors and weird behaviour upon the level re-load. New problem to 1.5.7 for me.

Most look as follows:

NullReferenceException: Object reference not set to an instance of an object
HutongGames.PlayMaker.Fsm.ProcessEvent (HutongGames.PlayMaker.FsmEvent fsmEvent, HutongGames.PlayMaker.FsmEventData eventData)
HutongGames.PlayMaker.Fsm.Event (HutongGames.PlayMaker.FsmEventTarget eventTarget, HutongGames.PlayMaker.FsmEvent fsmEvent)
HutongGames.PlayMaker.Fsm.Event (HutongGames.PlayMaker.FsmEvent fsmEvent)
PlayMakerFSM.OnLevelWasLoaded ()

Really weird bug here.

Occasionally, after pressing play, Playmaker will actually change the name of a particular global variable (playerGO) to an incorrect one (hitObject). hitObject is the name of a local variable I use in one particular game object to store a collision. I can't see any particular relation between this variable and my playerGO.

Anyway, somehow this change persists after stopping, and most of my prefabs somehow update themselves to reference this new, incorrect variable name. However, some don't, and they reference null.

I've corrected its name in the global variables list a few times, but it keeps changing back on its own.

Feature Requests / FSM Execution Order Priority
« on: May 09, 2013, 09:44:03 AM »

I know FSM's logic execute in a loop. Been thinking about all the ways to make sure things get done in setup FSM's before another FSM accesses the needed data from it. The two main ones are using Wait (can really slow things down, not always reliable if game is running slowly), and (more reliable and faster) sending events to and from FSM's or checking a "done" boolean.

However, this can be really time-consuming and confusing when you're dealing with hundreds of things being setup by hundreds of FSM's in a larger project.

Easiest possible solution: set the execution order priority of a particular FSM, like script execution order in Unity. So if the default is 1000, an FSM with priority of 999 will always execute before the others. It would iterate all the way through whatever it can do in a single frame (or until it has to wait for something) before other FSM's get executed.

Possible to implement?
This would be unbelievably helpful!

PlayMaker Help / Functioncall Color
« on: February 04, 2013, 02:42:27 PM »

Playmaker.Functioncall doesn't currently allow a Color. So you cannot use SendMessage to send a color to a script function. Can this be updated?

Thank you.

Feature Requests / Remove or rethink [RequiredComponent]
« on: November 21, 2012, 12:23:32 PM »

Since it is possible to add / remove components within a state, it no longer makes much sense to have any of the actions require a particular component on initialization. I find myself having to edit dozens of the built-in Actions to remove this requirement, but I feel there must be a more elegant solution. Perhaps it is time to rethink how this works in Playmaker? Could they look in previous states instead, for a suitable AddComponent or similar, before throwing an error?

PlayMaker Bug Reporting / Scale Time action bug
« on: October 01, 2012, 01:50:57 PM »

I noticed Scale Time would always set the fixed timestep to 0.02 * timescale no matter what. Even if "Adjust fixed timestep" is off, and the 0.02 is an arbitrary value hard-coded into the action. It seems the action is unfinished. I found this offending code in it:

         //TODO: how to get the user set default value?
         Time.fixedDeltaTime = 0.02f * Time.timeScale;

In my build, I will just modify the action to remove this line (I don't need to adjust fixed timestep at all), but I thought you might want to know the action is currently broken.

Action Requests / Swarm Manager
« on: August 22, 2012, 03:05:49 PM »
Is anyone here using Swarm Manager by echo17?

It's a pool object manager similar to Pool Manager. I have a license for it (but not Pool Manager), so I'm wondering if anyone has build Playmaker Actions for Swarm Manager.

PlayMaker Help / Performance of Collision Event
« on: August 13, 2012, 01:51:10 PM »

Is there a performance cost for using multiple Collision Events in a single State? More so than just one?

I am checking for collisions against multiple tags (10 or more) simultaneously, and firing different events based on what is hit... all on many instances of the object. Is this a potential performance problem? Would it be better to write custom Actions that check for multiple tags in the same action?
I don't own Unity Pro so I can't profile the cost.


PlayMaker Help / Using Wait to run coroutines / loops
« on: June 08, 2012, 07:40:14 PM »
Is it advisable to use the Wait action to make coroutines in an FSM loop? In other words, if I want something to happen 3 or 4 times a second (rather than every frame) so that it frees up CPU cycles, is there any performance downside to using the Wait action in a loop? Is there any better way of doing coroutines in Playmaker?

To clarify, I've been using it and it works fine, I just want to make sure I'm getting all the performance I can out of it, because it's running on about a hundred GameObjects at the same time. I also offset the wait time by a random amount so that they're not all processing in the same frame.

Is this even possible without forgoing PlayMakerGUI entirely and using scripts instead?
I want to map, for example, GUI button selection to GetInput.Axis("Vertical")

Am I right in thinking it looks like PlayMakerGUI is very limited at the moment to only Mouse and Touch input?


Pages: [1] 2