Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

PlayMaker - Visual Scripting for Unity

Discussion in 'Assets and Asset Store' started by Alex-Chouls, Dec 31, 2010.

  1. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    Hutong Games is pleased to announce Playmaker, a powerful visual state machine editor for Unity.

    • Realize your creative vision without knowing how to code! Unlock the power of Unity today!
    • Quickly make gameplay prototypes, A.I. behaviors, interactive levels, cut scenes...
    • Comprehensive documentation, tutorial videos, and an active community help you get started.
    • Programmers love Playmaker too - it's just fun to use!
    To learn more visit the Playmaker Site

    $Playmaker_DuelingBlades.jpg

    UPDATE

    Blizzard used Playmaker in the award winning Hearthstone!
    https://unity3d.com/showcase/case-stories/hearthstone
    "A big help in enabling our art team to independently make cool events in-game."
    Jason Chayes, Production Director, Hearthstone

    As huge fans of the Longest Journey series, we’re super thrilled that Red Thread Games is using Playmaker in the development of Dreamfall Chapters, the long awaited next installment in the award winning series.



    Check out http://redthreadgames.com/games/chapters/ for the latest Dreamfall Chapters news!

    UPDATE

    Dear Esther is being ported to Unity with the help of Playmaker:
    http://www.littlelostpoly.co.uk/dear-esther-and-unity/

    $DearEsther.JPG

    Robert Briscoe – Environment Artist and Indie Game Developer

    CASE STUDIES

    Dreamfall Chapters, the next chapter in the Longest Journey series:
    http://unity3d.com/showcase/case-stories/dreamfall-chapters

    $dreamfall_4.PNG

    Fightback by Ninja Theory, makers of Devil May Cry:
    http://unity3d.com/showcase/case-stories/ninja-theory-fightback

    View attachment 100269

    The Forest, using Playmaker for the AI:
    https://unity3d.com/showcase/case-stories/the-forest

    $theforest_4.jpg

    M.U.S.E:
    http://unity3d.com/showcase/case-stories/labrats-muse

    View attachment 100271

     
    Last edited: Oct 21, 2015
    600 likes this.
  2. Esila

    Esila

    Joined:
    Mar 22, 2009
    Posts:
    105
    Cool, I'll test it at once.
     
  3. Esila

    Esila

    Joined:
    Mar 22, 2009
    Posts:
    105
    test OK!! Will you want to make it like virtools??
     
  4. Esila

    Esila

    Joined:
    Mar 22, 2009
    Posts:
    105
    Are you live in hutong in Beijing. I grew up in hutong of Beijing. I like your "HutongGames".
     
  5. Sam Welker

    Sam Welker

    Joined:
    Dec 23, 2010
    Posts:
    110
    ah convenience :D i love me some node based coding :D

    Thanks I'll be sure to leave a bit of feedback when I can use it.

    -Sam
     
  6. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    looks interesting, thanks for sharing the beta. Testing time it is :)
     
  7. thellama

    thellama

    Joined:
    Mar 25, 2010
    Posts:
    360
    Very cool, I really like it so far, lots can be done with it. What are your plans for playMaker? Retail, donations etc?
     
  8. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    Very cool, I was looking for something like this for small projects for handheld :)
     
  9. WarpedAxiom

    WarpedAxiom

    Joined:
    Oct 27, 2006
    Posts:
    245
    How much will this cost when released?
     
  10. mrbdrm

    mrbdrm

    Joined:
    Mar 22, 2009
    Posts:
    510
    great jop
    when will you release it ? and how mutch will it cost ?
     
  11. devilkkw

    devilkkw

    Joined:
    Jun 24, 2009
    Posts:
    175
    great.that similar to blender and virtools.how price for it when released?
     
  12. UnleadedGames

    UnleadedGames

    Joined:
    Feb 17, 2008
    Posts:
    242
    Amazing, you have my attention for sure!
     
  13. aixaix

    aixaix

    Joined:
    May 7, 2010
    Posts:
    523
    One of the gratest thing ive gotten :p THX...
     
  14. outtoplay

    outtoplay

    Joined:
    Apr 29, 2009
    Posts:
    741
    This looks very interesting... Wonderful project.
     
  15. Deleted User

    Deleted User

    Guest

    quite nice! Is it for unityscript only for C# as well?
     
  16. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    @Esila:
    I lived in a beijing hutong for 6 months this year - made lots of good friends. Hope to go back soon!
     
  17. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    Thanks everyone for checking this out! We look forward to hearing what you think...

    We'll give the beta a couple of weeks at least to flush out bugs, then submit to the asset store. Price TBD. We want to keep it reasonable for indies and hobbyists. But it will probably be a single user, not site license.
     
  18. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    @Mister Edvinas:
    Playmaker should work with any of Unity's scripting languages. I like C#, so the examples use that. I would love to hear about people's experiences with other scripting languages... we plan to ship samples that use them too.
     
  19. GennadiyKorol

    GennadiyKorol

    Joined:
    Jul 10, 2010
    Posts:
    107
    Looks like a really professional and well made library.
    Will definitely be spending time learning it.


    Thanks a lot for the contribution!
     
  20. thomasmahler

    thomasmahler

    Joined:
    Mar 18, 2009
    Posts:
    181
    Awesome stuff - can't wait to give it a ride. Hope that it's a bit like Construct / Kismet!
     
  21. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    Wow! We have two visual shader tools and now two visual scripting tools. That's fantastic. I'm not going to have time to try this for a while but I'll be interested to learn how it compares to "VIZIO".
     
  22. SamSam

    SamSam

    Joined:
    Aug 31, 2010
    Posts:
    44
    Hi,
    i've been testing Playmaker for few hours now and have to say that it's very impressive, great great tool, congratulations.
    The samples scenes aren't imported with the packages, and they seems to not work even if we copy the "PlaymakerSamples" folder as no meshes are visibles when i load a scene...am i doing something wrong ?

    .
     
  23. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    Thanks!

    The easiest way to play with the samples is to unzip the download to your unity projects folder and open it as a Unity project.
    You can then open any scene in PlaymakerSamples.
    The playmaker package lets you import Playmaker into other projects.

    Not sure why you wouldn't be able copy the samples folder... I'll try it on my end and let you know. I may need to make a samples package.
     
  24. Maurice-Hoffman

    Maurice-Hoffman

    Joined:
    Jan 22, 2009
    Posts:
    182
    I like it very much, are you planning any 3rd person movement logic?
     
  25. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    Thanks! I have a long list of Actions I want to make... including 3rd person controllers, iOS input, camera transitions etc.

    I think the beta is close to the basic set of actions that will be in the initial release, but I'm always adding more!

    The final release will also ship with Templates for common state machine structures. See Templates Browser The beta doesn't ship with any templates yet, but you can make your own...

    You can also use Playmaker to control regular scripts on objects (e.g., Unity's default movement controllers). See Script Control Actions.

    Finally, it's fairly easy to write your own actions (docs coming soon). Playmaker ships with lots of examples that you can use as a starting point.

    The ultimate goal is to build a comprehensive library of actions and templates so you can quickly prototype and build almost any idea within Playmaker without scripting.
     
  26. Jiong

    Jiong

    Joined:
    Dec 16, 2009
    Posts:
    22
    Here are some suggestions。
    look like playmaker can't support List or Array Properties type?
    - support more data type.
    - support [GameLogic] user custom ActionCategory.
    - PlayAnimation action can't fire finish event.
    - action can change to Modifiers liked framework. (HBT etc).
     
  27. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    Thanks for the feedback!

    We plan to support Lists/Arrays in Actions in a future release. Also more data types!

    You can make your own Action Categories; the enum is for convenience, but you can use a string instead. We're still finalizing the categories - GameLogic is a good one - we'll add it to the enum.

    I'll look into the PlayAnimation finish event. You might be running into the issue described under finish event in the docs: here I'll take another look at the action though, would be better if it "just worked" without extra documentation...

    Not sure what you mean by Modifier framework...? Can you be more specific?
     
  28. heartfornairobi

    heartfornairobi

    Joined:
    Oct 3, 2010
    Posts:
    39
    what is your current idea of what the price range might be when it is released? This sounds very interesting since I am more of a model junkie then a scripter and something like this would be a BIG help.
     
  29. Havok

    Havok

    Joined:
    Aug 21, 2009
    Posts:
    36
    Oh WOW!
    Man, this is looking great!

    I will be looking at this as well as the other 2 Visual programming projects VERY closely.
    Would it be possible for people to create actions/states and share them?

    EDIT: I see we just might be able too :) https://hutonggames.fogbugz.com/default.asp?W166
    This is very good news.
    I think unity will see an indirect uptake as well just because of this.
    .
     
    Last edited: Jan 7, 2011
  30. Schlumpfsack

    Schlumpfsack

    Joined:
    May 30, 2010
    Posts:
    608
    looks damn great :) *thumbs up*
     
  31. ROCFriesePoort

    ROCFriesePoort

    Joined:
    Mar 27, 2009
    Posts:
    107
    Wow! Amazing! Feels great to have finally a visual scripting tool! Thanks, I can't wait for the final!
     
  32. ROCFriesePoort

    ROCFriesePoort

    Joined:
    Mar 27, 2009
    Posts:
    107
    Something is not completely clear to me. In the State tab, does the order of the actions make any difference? I mean when i put an action on top of the list will the action under it be "played" after the first action?

    And I found something a little bit annoying; when I close a tab (eg Actions) the whole Playmaker window closes.
     
  33. mmuller

    mmuller

    Joined:
    Nov 23, 2010
    Posts:
    92
    Alex,

    A fantastic piece of work, well done. Although I shall probably stick to coding my stuff I can see that a lot of people coming to Unity will see a huge benefit to a package like yours.

    Out of interest and in relation to the other visual scripting tool - how does this compare to hand coded scripts at runtime? Is there a performance hit when you have a lot of interactivity going on in your game for example?

    Give yourself a big pat on the back though - its a great piece of software!

    Best Regards
     
  34. n321

    n321

    Joined:
    Oct 13, 2009
    Posts:
    29
    Just curious. Unreal Kismet is great when working wirth one map/scene but when a new map is loaded your Kismet is not transfered to the new map so game code does not work well. (like cameras and fighting systems) Will PlayMaker stay consistant when loading a new scene, so if I make a special camera type or a fighting system or what ever, will it work through out all scenes in my game?
     
  35. mikesgames

    mikesgames

    Joined:
    Apr 16, 2010
    Posts:
    1,071
    this is great!

    Thanks for this!
     
  36. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    Thanks for the feedback!

    A few people have asked about price. We haven't settled on the final price yet, but we can say it will be under $100 for a single user license.

    @Frido: Actions are activated in the order they are listed, from top to bottom. Check out this doc for more details. If you only read one page in the docs, this is the page to read!

    Editor windows closing when you close a tab is standard Unity behavior - I don't think there's a way around this. You have to undock the tab before closing... unless I misunderstand the problem...

    @mmuller: Thanks! The biggest performance hit happens when creating the state machine the first time since it uses reflection to create the Actions. After the state machine is created performance impact should be minimal. There are potential optimizations I can explore if it becomes necessary...

    @n321: Great question! Playmaker FSMs are attached to Game Objects, so any game object loaded with a scene starts running it's state machine as soon as the scene is loaded. You can also use Playmaker FSMs on prefabs - so you can spawn a game object complete with its own state machine.

    For persistent behavior across levels, there are a few approaches you can take:

    - Use the start state to initialize variables in the state machine. E.g., a Camera FSM loaded in the level might use FindGameObject to find the hero.

    - Load persistent objects first then use the additive option in LoadLevel. You could use DestroyObject before loading the next level.

    - Use DontDestroyOnLoad to keep Playmaker FSMs between scenes. I'll make an action for that, so you can set it within Playmaker.

    - Use the LEVEL LOADED event (see Events) to re-initialize state machines after a level is loaded (e.g., move the camera to a start position).

    This is a great topic for the Playmaker help wiki. I'll add it when I get a chance...

    Thanks again for the enthusiastic reception! I can't wait to see what you guys make with Playmaker!

    New beta coming soon with a couple of bug fixes:
    - Playmaker FSMs were broken in the web player.
    - Blank events were showing up in Actions/Event Manager.
     
    Last edited: Jan 7, 2011
  37. kingrat

    kingrat

    Joined:
    Dec 23, 2010
    Posts:
    93
    In the top right hand corner a banner saying playMaker comes up when I make a script.. Is this meant to happen and does it have to be there. Can I take it down?
     
  38. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    The banner is only in the beta. The final version will be banner free...
     
  39. psyclone

    psyclone

    Joined:
    Nov 17, 2009
    Posts:
    245
    After having use both for a bit, I currently prefer VIZIO. Very easy to extended and create your own blocks. Will be interesting to see how Playmaker and VIZIO develop through the beta period
     
  40. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    VIZIO looks really cool - can't wait to play with it myself!

    However, I think Playmaker and VIZIO are solving slightly different problems, so it's not necessarilly an an either/or situation - I suspect they might actually work quite well together...

    In my experience with rapid development you can make very quick early progress writing/wiring up scripts, but over time coordinating all these scripts gets harder and harder. Eventually you have to refactor and build more organizational architecture, or you find yourself gravitating towards another project... that you make very quick early progress with, but over time...

    Playmaker is designed to facilitate rapid development though early prototyping all the way to finished game by providing a visually intuitive way to manage state.

    In a typical game you have to manage a lot of state - animation states, game modes, interactive objects, cut scenes, menus, AI behaviors, story, button presses, spawning, dying, etc.

    Playmaker lets you visualize, build, preview and debug state machines that control all of these different aspects of your game. It provides a common organizational framework and transparency. Instead of trying to figure out what's going on in the scene, game objects are labeled with their state - the door is closed, the button is broken, the guard is sleeping, the gun is reloading... in the editor you can quickly see all the possible states, and the events that trigger transitions.

    Actions, while similar to virtools style building blocks, are essentially scripts that run while a state is active.

    In some ways the distinction is subtle since you can build virtools style graphs using states and low level actions. However, if you embrace the State/Action paradigm in Playmaker, you should find that it provides an intuitive way to organize and control the behavior of everything from a button, to a cut scene...
     
  41. psyclone

    psyclone

    Joined:
    Nov 17, 2009
    Posts:
    245
    Good point.. Using playmaker as a state machine to run scripts/vizio graphs, could be a very fast and powerful solution.

    Hopefully this becomes a possibility as the packages matures.
     
    Last edited: Jan 9, 2011
  42. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    You should be able to do it now using ScriptControl actions. You could use AddScript or EnableBehaviour to turn scripts off and on in different states.

    Assuming vizio graphs are scripts attached to game objects...?
     
  43. mikesgames

    mikesgames

    Joined:
    Apr 16, 2010
    Posts:
    1,071
    can us beta testers have a free copy of the final thing? ;)

    This is a awesome tool, and I dont think I would be able to afford it :(
     
  44. psyclone

    psyclone

    Joined:
    Nov 17, 2009
    Posts:
    245
    Its not a script as such. You attach the VizioComponent to the GameObject, and build the graphs within this. So as such AddScript dosent work. EnableBehaviour should, although this would mean a seperate Graph per Behaviour you wanted.

    Dug a little deeper, and could also use SendMessage to cause a Graph to act. Would just have to build a RecieveMessage Graph.

    God Damm now you have got me thinking..........
     
  45. Jiong

    Jiong

    Joined:
    Dec 16, 2009
    Posts:
    22
    About PlayAnimation suggestion:
    you can use AnimationClip as parameter, i think use AnimationClip replace animation name better. How other people think?

    About Modifiers Architecture:
    In Havok behavior and other HFSM tools,behavior also is StateNode, you can attach Other Behavior Ref to current Behaivor.
    State can attach Some Modifier, Modifier can be a action or condition. a Modifier can has child Modifier。
    eg:
    we need a state action can delay 3s create some object.
    in playerMaker you have to use action [SendEvent(NextState, 3s)], and in next state add a [CreateObject] action. we have to create 2 state or create more [DelayedCreateObject] type action. (DelayedFireBullet, DelayedMoveCharacter etc)
    use Modifiers Architecture you can use DelayedModifier(has child)+CreateObject to delayed create object. you can create more behavior tree liked Modifier(Sequence, Parallel, Priority, Selector etc).
    you can ref to this link: http://www.havok.com/index.php?page=havok-behavior

    i have use playMaker refactor our action game to fsm driven. but have some problem cause Inconvenience.
    like Hierarchical support, State can't use Condition etc.

    Another usage question:
    Whether playmaker expose data to designer by variable editor? (HP, MP, Power etc) or programmer create Component include this data, playmaker fsm acess this data from Component, and designer use Component Inspeactor edit this properties?

    playmaker is powerful tool for unity!! I hope it can have better development。
     
  46. Jiong

    Jiong

    Joined:
    Dec 16, 2009
    Posts:
    22
    These are data file for my old fsm engine wirte by cpp. it use modifier liked Architecture.
    [KeyWaiter] can Attach to [DelayedModifier], [DelayedModifier] can attach to [SequenceNodeModifier]. [SequenceNodeModifier] is child of StateNode.
    ===================================================================
     

    Attached Files:

    Last edited: Jan 10, 2011
  47. Alex-Chouls

    Alex-Chouls

    Joined:
    Mar 24, 2009
    Posts:
    2,651
    @mikesgames - Maybe we can work something out... I'll send you a PM.

    @psyclone - Sounds promising. Let me know what you come up with!

    @Jiong - Wow! A lot to think about! Thanks for the explanation.

    With animation actions I wanted to be able to pick from animations on the game object, but the game object isn't always known at edit time (since it can be a variable). My solution was a browse button that finds animations on the game object if known, and text field if not known. Using a name also allows some generic behavior - e.g., If the game object variable specifies the currently selected weapon, then PlayAnimation("reload") would reload any weapon, each playing its own unique animation. With an AnimationClip parameter you lose this generic behaviour...

    Maybe I'll add another Action: PlayAnimationClip that uses an AnimationClip parameter and adds the clip to the game object if necessary. Also an AddAnimationClip action that lets you add and name a clip (to take advantage of the generic behavior of PlayAnimation).

    Hmmm modifiers.... it would be nice... let me think about how to do this in Playmaker. Maybe Actions that contain other actions as parameters, so you can nest actions inside a conditional, sequence etc. I do also want to support hierarchical FSMs. But these features might have to wait till a future release...
     
  48. ZerkyWerky

    ZerkyWerky

    Joined:
    Apr 2, 2009
    Posts:
    129
    Guys, i may not reply a lot on the forum but i do read a lot of thread and too often, i see people asking free version of everything. i think i can speak in the name of everyone here that if we could be able to live of our passion, game making we all would! but no one pay bills with thx and free stuff.. freebies are great and i am the first to enjoy free tools but everyone work hard here on their softs/tools and this is OUR duty, indy dev to support each others by buying these shaders,tools,models etc (if they worth it obviously). I am sure if you develop something, you will love to get buyers as same as for everyone else.. i will enjoy as much as i can this thing as a beta and if i can, be sure i will buy it. and i encourage poeple to do same! donations are great a little 10-20bucks is not that much to support the community.. skip your 6pack of beer on one friday and buy a shader :wink: anyway, you see the point :)
    great work and keep goin! this is great that you shared the beta to everyone
     
    DotTeam likes this.
  49. RoyS

    RoyS

    Joined:
    Jan 12, 2009
    Posts:
    664
    Well posted, mah. By purchasing these tools, we only encourage them to make more tools and improve the ones that are out there.
     
  50. thellama

    thellama

    Joined:
    Mar 25, 2010
    Posts:
    360
    I would pay for this, gladly. I love to support my fellow indie devs, it's a privilege to work with other talented people, to see them go unrewarded would be a crime. If you develop something that will not only help me, but make my life easier while making better games! You've earned your money. And chances are my developments and games will in turn be even more well received because of the products I've paid for.

    I look forward to owning a license for Playmaker to not only expand my code library but extend my workflow.

    So far I've found I still use a lot of core scripts to run the game but I use Playmaker to control things like simple AI, buttons, doors and events, things I don't want to code because it results in huge scripts or long inspectors full of hundred of variables. This makes setting up puzzles and trigger based events fast and easy!
     
    Quique-Martinez likes this.