playMaker

Author Topic: ...just another big Custom Action collection (A-L)  (Read 27431 times)

Deek

  • Full Member
  • ***
  • Posts: 133
...just another big Custom Action collection (A-L)
« on: July 14, 2017, 05:59:34 PM »
________________________________________________________

The majority of my actions is now on the Ecosystem, making this
topic the hub for all related remarks, suggestions and problems. ________________________________________________________

Link to second half: http://hutonggames.com/playmakerforum/index.php?topic=18460.0


Since I work on a somewhat larger project for ~3 years I encountered all kinds of challenges to overcome and often times the default- and ecosystem-actions, even though large in numbers, couldn't suffice for all those hurdles.

That's why I had to help myself out and create or modify existing actions which I'd like to share with this community, because without PlayMaker and people contributing additional functionalities I wouldn't have even come close to an almost complete game.

Most of them can be found in the Ecosystem (Unity 5 and up), but for the ones that aren't feasible for that of if you use an earlier version you'd have to skim through my GitHub Repository and install them manually: https://github.com/justDeek/Useful-Unity-Utilities

I will still add more actions when I see the need for them. If you have any questions or want an action that works in a similar fashion to the prevalent ones, ask right ahead.
If you found any errors or room for improvement, you can also point those out. Any feedback is heartily welcome.


Summary of all currently included actions (their purpose can be derived from their name or action-description):

Ecosystem
Action Name
Usefulness
AnimateVariable:
Ease Int★★★
Animator:
Get Animator Runtime Controller★★
Set Animator Runtime Controller★★
Applications:
Is On Platform Event★★★
Array List:
Array List Contains Name★★★
Array List Get Length★★★★★
List GameObjects Inside Collider★★★★★
List GameObjects Inside Collider2D★★★★★
Array:
Array Get Random Advanced★★
Array Operator★★★
Audio:
Int Switch AudioClip★★★★
Get AudioProgress★★★★★
Get AudioClip Length★★★
Get AudioClip Name★★ (Editor only)
Camera:
Collider Is Visible★★★★
Collider2D Is Visible★★★★
Color:
Compare Colors★★★★
Device:
Get Device Linear Acceleration★★ (untested)
Get Device Roll Custom★★★ (untested)
Swipe Gesture Event Advanced★★★★
Enum:
Enum Get Random★★
Get Enum As Array★★★★
Random Weighted Enum★★★
GameObject & UnityObject:
Activate Components★★★★
Activate Game Objects★★★★★
Activate Game Objects Advanced★★★★
Destroy Children★★★★
Enable Children★★★★
Enable Children In Range★★★★
Find Children★★★
GameObject Compare Multi★★★★
GameObject Keep Active★★★★★
Get Child Count Advanced★★★★
Get GameObject Sibling★★★★★
Get Last Child★★
Get Multilevel GameObject★★★★★
Get Object Name★★★
Has Sibling★★★★
Set GameObject If Not Null★★★
Toggle Component★★★★
Toggle GameObject★★★★
Logic:
Convert Int To Letter★★★★
Float Compare Range★★★★
Int Compare Range★★★★
Int Sign Test★★★
Int Switch Advanced★★★ (similar to existing action)

The rest of my collection can be found on this post here.

Notes:
- Third Party actions and the like (e.g. NGUI, GDE, ...) aren't on the Ecosystem (yet), since they are planned to be bundled in a package (like the uGUI action-package for example), which then would be put on the Ecosystem, rather than polluting it with each single actions only a small group of users can use
- the rest of the actions not put on the Ecosystem are either not really useful/interesting for most, only change a little bit of an already existing action, are not tested sufficiently or there is already a similar action available
- the actions are available & supported for Unity 5 and up, because that's the version I mainly use and tested them on, meaning that most if not all of them are likely compatible with earlier Unity versions; but unless there are several people demanding it, it wouldn't be worthwile for me to test them on and provide them for earlier versions (namely Unity 4)

Edit:
|15.07.17|:
- Added: Direct-Download Links since you can't download single files in GitHub
|19.07.17|:
- Added: Actions "Countup Timer", "Swipe Gesture Event Advanced" & Custom Menu options to quickly change between scenes with shortcuts
|21.07.17|:
- Added: GDE-Actions: "GDE Add Float", "GDE Add Int", "GDE Add String", "GDE Multiply Float", "GDE Multiply Int"
- Fixed: GitHub Screenshot-Previews, they should all be visible now
|02.08.17|:
- Added: "Activate Multiple Components" and several GDE-related Actions
|28.08.17|:
- Added: "GDE Find Item By Value", "NGUI Tools Destroy Multi", "Enum Get Random", "Get Enum As Array", "Random Weighted Enum", "Random Weighted Vector3"
|09.10.17|:
- Added: "NGUI Set Sprite Size", "NGUI Set Widget Color", "Get -" + "Set Runtime Animator Controller", "Get AudioClip Length", "Get Audio Progress", "Int Switch", "Set Position Multi", "Debug Variable On Screen", "Send Event Random Delay", "Send Event Set Multi"
- Re-arranged how the list is represented in this post
|09.12.17|:
- Added: "Random Float On Slope", "Random Point On Slope"
- Updated: "Countup Timer" (now supports to pause the timer, reset and restart on enter),
                  "Debug Variable On Screen" (added option to change the font size)
- Fixed: "Destroy Children"
- Re-worked: "GDE Create Item" (removed the convenient custom inspector that showed which Schemas are available, because it brought more harm than good, but at least it works now better and is more performant)
If you still have the "GDECreateItemInspector.cs" file, remove it when you want to use the new "GDE Create Item" script
|23.12.17|:
- Added: "Compare Colors"
- Started uploading most of these onto the Ecosystem (Unity 5 and up)
- Adjusted the list of actions to indicate which action can now be found on the Ecosystem
- Sorted certain actions into better matching categories
- Removed: "Set Sprite Color Custom" and "Remove Fullscreen Color"
|26.12.17|:
- Added: "Follow Mouse 2D"
- Re-worked: "Activate Game Objects" (a re-work of the quite deprecated "Activate Multiple Game Objects" with additional options), "Activate Components" (a better version of "Activate Multiple Components", in the same vein as "Activate Game Objects")
- Created info-banner at the top of this post
|30.12.17|:
- Updated: "NGUI Set Sprite Multiple" (added required OnPreprocess() prerequisite for PlayMaker 1.8.5 and up)
- Re-worked: "Set Positions" (previously "Set Positions Multi", added ability to set each GameObject's position individually (next to setting them all to one as initially intended), as well as the options to choose the update type)
|19.01.18|:
- Re-worked: "Send Events" (previously called "Send Event Multi" and was fairly limited+threw an error when the event, even if global, wasn't used by the current FSM)
- Removed: direct download links since most of the actions are on the Ecosystem anyway and it's one system less that I'd have to maintain whenever I add/update any script
|04.02.18|:
- Added: "Nav Mesh Agent Move To", "Get Child Count Advanced", "Float Compare Range", "Int Compare Range"
|10.03.18|:
- had to split this post in half because of max char limit
|30.03.18|:
- Added: "Activate Game Objects Advanced", "Game Object Keep Active", "Get Last Child", "Toggle Component", "Toggle Game Object", "Reset Transforms", "String Append", "String Remove"
|13.04.18|:
- Added: "Enable Fsms", "Disable This FSM", "Restart This FSM", "Ease Int",  "Get Rotation Add Offset", "Nav Mesh Agent Get Area Mask", "Ngui Label Set Text Advanced"
- Re-worked: "List Game Objects Inside Collider", "List Game Objects Inside Collider 2D" (both contained a restriction that didn't allow to filter by the 'Untagged'-tag), "Get Position Add Offset", "Get Scale Add Offset" (the variable 'Apply Offset to GO' now allows for a direct GameObject to apply the offset to a different GameObject than the specified one; also added the selection of the update type), "Reset Transforms" (now allows to specify which part of the transform (position, rotation and/or scale) to include or exclude)
|24.06.18|:
- Added: "Array Get Random Advanced", "Set GameObject If Not Null", "Random Point Between GameObjects", "Get GameObject Screen Position", "Random Wait Around Offset", "GDE Float Compare", "GDE Int Compare", "GDEResetItem", "GDE Schema Get Next Item"
- Re-worked: "Send Event Set Multi" (added 'Enable' and made 'Send Event' optional), "Send Event Set Value" (added 'Enable'), moved the Item and Field Names of my GDE actions to the top
|11.01.19|:
- Added: "Get Children", "Array Add GameObject If Enabled", "Array Add If Empty", "ArrayIsEmpty"
- Re-worked: "Array List Contains Name" (fixed comparison of Objects, added option to check for identical entries or ones that only contain the given name)
|24.09.19|:
- Added: "Find Children", "Convert Int To Letter", "Get Percentage Int", "Get Gravity 2d Scale", "Random Characters", "Sprite Get Name"
- Updated: "Activate GameObjects", "Activate GameObjects Advanced", "Get GameObject Sibling", "Get Multilevel GameObject"
« Last Edit: September 24, 2019, 12:15:21 PM by Deek »

tcmeric

  • Beta Group
  • Hero Member
  • *
  • Posts: 768
Re: ...just another big Custom Action collection
« Reply #1 on: July 14, 2017, 11:04:11 PM »
Awesome, looks like some great actions! Thank you for posting.

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 7615
    • jinxtergames
Re: ...just another big Custom Action collection
« Reply #2 on: July 15, 2017, 12:30:27 PM »
Hi,
Wow a nice bunch of actions, i will certainly check them out.
May i add some of those on the Ecosystem?

Deek

  • Full Member
  • ***
  • Posts: 133
Re: ...just another big Custom Action collection
« Reply #3 on: July 15, 2017, 02:10:33 PM »
Hi,
Wow a nice bunch of actions, i will certainly check them out.
May i add some of those on the Ecosystem?
Sure thing, do as you please!
The GitHub Repository also contains all the preview pictures for the actions in the folder "Screenshots" if you want to include them for the Documentation-Button (the ?-Symbol on actions in the Ecosystem).

But I'm still unclear how the actions you choose to use could be updated if I improve or modify something inside of them... by replying to this post or is there another way?

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 7615
    • jinxtergames
Re: ...just another big Custom Action collection
« Reply #4 on: July 16, 2017, 01:56:01 AM »
Hi,
Thx i will post when i added some actions.
(might take a while :) )

craigz

  • Beta Group
  • Full Member
  • *
  • Posts: 234
    • Haven Made
Re: ...just another big Custom Action collection
« Reply #5 on: December 06, 2017, 11:51:27 AM »
Hi Deek!

Just wanted to say this is an awesome list - and thanks for tuning me in about Game Data Editor! It's so crazy useful! :D

I am getting some errors specifically on the 'Destroy Children' action, any ideas for a quick fix?

Code: [Select]
UsefulUnityUtilitiesMaster/Custom PlayMaker Actions/GameObject & UnityObject Customs/DestroyChildren.cs(30,18): error CS1061: Type `UnityEngine.Transform' does not contain a definition for `DestroyChildren' and no extension method `DestroyChildren' of type `UnityEngine.Transform' could be found. Are you missing an assembly reference?
Let me know, these have been super useful :)

-craigz

Deek

  • Full Member
  • ***
  • Posts: 133
Re: ...just another big Custom Action collection
« Reply #6 on: December 09, 2017, 09:56:03 AM »
Whoopsie... Yeah that action used an extension method from NGUI which I haven't noticed (though it would be one from Unity's transform class).
Anyway, fixed it so it should work fine now. If you encounter further problems, please let me know; also I'm glad you find these helpful.

jellyam

  • Playmaker Newbie
  • *
  • Posts: 19
Re: ...just another big Custom Action collection
« Reply #7 on: December 09, 2017, 11:09:39 AM »
thanks man, downloadign right now, can't to check 'em out

craigz

  • Beta Group
  • Full Member
  • *
  • Posts: 234
    • Haven Made
Re: ...just another big Custom Action collection
« Reply #8 on: December 09, 2017, 09:04:57 PM »
Wahoo! Awesome, thank you so much Deek! You rock :D was it updated via Github? Just pulled the latest and still no dice! D:
« Last Edit: December 09, 2017, 09:37:20 PM by craigz »

Deek

  • Full Member
  • ***
  • Posts: 133
Re: ...just another big Custom Action collection
« Reply #9 on: December 10, 2017, 06:35:31 AM »
The updated version is available on both ends.
The direct download links lag a bit behind since I usually only sync my changes at the end of the day or the morning after, but I will likely soon have a better way of providing these (or maybe push these to the Ecosystem).

For your convenience I put the updated script as an attachment to this post, so you don't have to skim through the folders again ;)
« Last Edit: December 15, 2017, 10:31:53 AM by Deek »

craigz

  • Beta Group
  • Full Member
  • *
  • Posts: 234
    • Haven Made
Re: ...just another big Custom Action collection
« Reply #10 on: December 11, 2017, 09:10:51 PM »
Dahhhh! Deek you're the best :D thank you for making things so convenient :P

And heck yeah! Would love to see some of them on Ecosystem, they're so useful! Because it's easy to tell they were made to help actually MAKE a game, rather than just a mish mash of just cool utilities :P

**EDIT**
Oh noes! Getting this on reimport!

Code: [Select]
Assets/PlayMaker Custom Actions/UsefulUnityUtilitiesMaster/Custom PlayMaker Actions/GameObject & UnityObject Customs/DestroyChildren.cs(30,18): error CS1061: Type `UnityEngine.Transform' does not contain a definition for `DestroyChildren' and no extension method `DestroyChildren' of type `UnityEngine.Transform' could be found. Are you missing an assembly reference?

-craigz
« Last Edit: December 11, 2017, 09:41:07 PM by craigz »

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 7615
    • jinxtergames
Re: ...just another big Custom Action collection
« Reply #11 on: December 12, 2017, 03:37:45 AM »
Hi Deek.
Do you have some experience with github / sourcetree?

You can find several videos explaining how to use them, here's one of them :


Once you've got this setup you can get access by asking jean.

Once you got a repository the best thing to do is to open it with unity (as a project) and install playmaker.
For u5 repo's you need to install unity 5.6.4, for u4  repo's you need to install 4.7.2
you can install multiple versions on 1 machine.
rename the unity folders to (for example Unity4 , Unity5 , unity2017, unityBeta)

You can also drop the actions directly in the repo custom action folders but it is recommended to do it inside unity for minimizing errors.

In your action scripts you need to add :
Code: [Select]
// (c) Copyright HutongGames, LLC 2010-2017. All rights reserved.
// Author : 'Your Playmaker username'
// supportUrl : 'url to the playmaker forum thread when available'
/*--- __ECO__ __PLAYMAKER__ __ACTION__ ---*/
The last line is mandatory, else the ecosystem won't find the action.

I had a lot of work going on so i did not have the time yet to check them out and add them to the Ecosystem, sorry for that.

For the 3rd party actions, maybe it is best to place then in a bundle package.
We will provide you an asset we are working on to simplify doing this.

Let me know if you need some help.
« Last Edit: December 12, 2017, 03:45:17 AM by djaydino »

Deek

  • Full Member
  • ***
  • Posts: 133
Re: ...just another big Custom Action collection
« Reply #12 on: December 12, 2017, 01:14:08 PM »
@craigz
Thanks for your kind words.
Yep, the line that causes the error was still in the updated version, even though I could have sworn that I removed it. Anyway, NOW there is the fixed version in the links and in this attachment, sorry for that.  ::)

@djaydino
The fact that I'm currently using GitHub to share these actions should show that I at least have the basic understand on how to handle repositories. :)

Though, for the u5 repo, does it necessarily need to be Unity 5.6.4, because I currently use 5.6.1f1.

Also since I've seen you guys trying to explain the process on several posts individually, why not make a sticky in the 'Share New Actions' section with a more exhaustive and universal explanation which you can then reference/link to when you need to explain it to someone again.
For example, this post on that topic also reveals additional info that would be worth mentioning:


And it might be redundant to rewrite that every time; just a suggestion.

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 7615
    • jinxtergames
Re: ...just another big Custom Action collection
« Reply #13 on: December 12, 2017, 04:40:26 PM »
Hi.
Quote
The fact that I'm currently using GitHub to share these actions should show that I at least have the basic understand on how to handle repositories. :)
Sorry i was doing several things at the same and not thinking straight lol.

Quote
Though, for the u5 repo, does it necessarily need to be Unity 5.6.4, because I currently use 5.6.1f1.
after you tested on your version you can copy paste them to the repo as i think there will be version issues.
But it's best to ask jean

Quote
Also since I've seen you guys trying to explain the process on several posts individually, why not make a sticky in the 'Share New Actions' section with a more exhaustive and universal explanation which you can then reference/link to when you need to explain it to someone again.

Yes indeed, i am planning to make a wiki page for it.

Voa

  • Playmaker Newbie
  • *
  • Posts: 1
Re: ...just another big Custom Action collection
« Reply #14 on: January 13, 2018, 08:13:36 PM »
Hi!

Awesome actions, thank you! I'm already using a couple of them, will check others after seeing this post. I found them in the Ecosystem, specifically looking for Send Event Multi.

But, I got an error (on Send Event Multi). Idk if it is already reported or not, but the action does not recognize Global Events, which is really strange given its purpose! I will leave a screenshot attached to better describe.

I tried to fix it myself, but was limited by my skills :P
Would you know why this happens, and how it can be fixed?

Ah, and another problem is that it does not have the option to send to children :(
« Last Edit: January 13, 2018, 08:24:48 PM by Voa »