Macro References
Here, you'll find information about macros, what they do, their properties and examples.
You can jump to any macro through the sidebar.
Input Macros
join
Combines a collection into a string separated by a character of your choice.
Argument | Description |
---|---|
String | Separator |
IEnumerable | Collection of values that will be joined |
Returns
string
- String with all joined collection items
Example
Given the following variables:
shopping_list
= ['apple', 'banana', 'orange']
join("; ", %shopping_list%)
Output
'apple; banana; orange'
is_empty
Determines whether the given collection is empty or not.
Argument | Description |
---|---|
IEnumerable | String or Collection type instance |
Returns
bool
- True, if collection has at least one item.
Example
Given the following variables:
shopping_list
= ['apple', 'banana', 'orange']completed_chores
= []
empty(%shopping_list%)
empty(%completed_chores%)
Output
False
True
abs
Returns the absolute value of a specified number.
Arguments
Argument | Description |
---|---|
float | A number that is greater than or equal to MinValue, but less than or equal to MaxValue. |
Returns
float
- an absolute number.
Example
abs('-50')
Output
50
contains
Determines whether a given collection contains a value
Arguments
Argument | Description |
---|---|
IEnumerable | Collection to check. |
object | Item to look for. |
Returns
bool
- True if collection does contain an item.
Example
Given a variable: fruits
= ['apple', 'banana', 'orange']
contains(%fruits%, 'apple')
Output
True
count
Counts number of items in a collection (array, list etc.).
Arguments
Argument | Description |
---|---|
IEnumerable | Collection to measure |
Returns
int
- number of items in a collection
Example
Given a variable: fruits
= ['apple', 'banana', 'orange']
count(%fruits%)
Output
3
decr
Returns a value decremented by 1.
Arguments
Argument | Description |
---|---|
long | Value that will be decremented. |
Returns
decimal
- Decremented value.
Example
decr(10)
Output
9
envar
Retrieves a value of an environment variable.
Arguments
Argument | Description |
---|---|
string | Name of the environment variable. |
Returns
string
- Value of an environment variable.
Example
Given that a machine has an environment variable ACCOUNT_USERNAME
with a value of Heavy_Weapons_Guy
.
envar("ACCOUNT_USERNAME")
Output
"Heavy_Weapons_Guy"
equal
Determines whether a both objects are equal to one another.
Arguments
Argument | Description |
---|---|
object | First object to compare. |
object | Second object to compare. |
Returns
bool
- True if objects are equal to one another.
Example
count('fruits', 'vegetables')
Output
False
get
Gets a specific item from an array from a given index.
Arguments
Argument | Description |
---|---|
IEnumerable | Target collection |
int | Index of an item |
Returns
object
- an item at a specified index of a collection.
Example
Given a variable: fruits
= ['apple', 'banana', 'orange']
get(%fruits%, 2)
Output
orange
get_git_current_branch
Returns name of a currently check out branch in a given Git repository.
Arguments
Argument | Description |
---|---|
string | Path to the Git repository.. |
Returns
string
- commit hash.
Example
get_git_current_branch("C:/Path/To/Correct/Git/Repository/Directory")
Output
stable
get_git_last_commit_hash
Returns hash of the latest commit of a given Git repository.
Arguments
Argument | Description |
---|---|
string | Path to the Git repository. |
Returns
string
- commit hash.
Example
get_git_last_commit_hash("C:/Path/To/Correct/Git/Repository/Directory")
Output
fbbf816046bd1dd6f076d35e051fed07964d5add
has_key
Determines whether a given EditorPrefs key exists.
Arguments
Argument | Description |
---|---|
string | Name of the key to look for. |
Returns
bool
- True if EditorPrefs of given key exists.
Example
has_key('key_that_does_not_exist')
Output
False
if
Returns the choice between 2 objects depending on a boolean value.
Arguments
Argument | Description |
---|---|
bool | Boolean that determines which of the other parameters to return. |
object | Parameter that will be returned if boolean is true . |
object | Parameter that will be returned if boolean is false . |
Returns
object
- Returned object depending on the boolean value.
Example
if(true, "Foo", "Bar")
Output
"Foo"
incr
Returns a value incremented by 1.
Arguments
Argument | Description |
---|---|
long | Value that will be incremented. |
Returns
decimal
- Incremented value.
Example
incr(10)
Output
11
invert
Returns an inverted boolean.
Arguments
Argument | Description |
---|---|
bool | Boolean which will be inverted. |
Returns
bool
- An inverted boolean.
Example
invert('true')
Output
False
is_git_repo
Checks whether given path contains a valid Git repository.
Arguments
Argument | Description |
---|---|
string | Path to the Git repository.. |
Returns
bool
- true
if given path does contain a repository.
Example
is_git_repo("C:/Path/To/Correct/Git/Repository/Directory")
Output
true
length
Counts the number of characters in a string.
Arguments
Argument | Description |
---|---|
string | String which characters will be counted. |
Returns
int
- Number of characters a given string has.
Example
length('four')
Output
4
load
Loads an asset file from a given path
Arguments
Argument | Description |
---|---|
string | Path to the asset that will be loaded |
Returns
UnityEngine.Object[]
- an array of loaded Unity objects.
Example
load('Assets/ExampleFolder/)
Output
UnityEngine.Object[]
merge
Merges objects together into a list. You can merge 2 enumerables together or merge enumerable with a non-enumerable object (e.g. when you want to add object to a list).
Arguments
Argument | Description |
---|---|
IEnumerable | First list/object that will be merged |
IEnumerable | Second list/object that will be merged |
Returns
IEnumerable
- a collection of merged lists/objects
Example 1
Given that the following variables are defined:
listA
= [1, 2, 3, 4, 5]
listB
= [6, 7, 8, 9, 10]
merge(%listA%, %listB%)
Output
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Example 2
Given that the following variables are defined:
buyList
= ["apple", "orange", "tomato"]
item
= "avocado"
merge(%buyList%, %item%)
Output
["apple", "orange", "tomato", "avocado"]
path
Resolves path with a wildcard in it.
Arguments
Argument | Description |
---|---|
string | Path to to resolve. |
Returns
string[]
- Array of resolved paths
Example
Given the following project structure:
Assets/
├── Scenes/
│ ├── scene1.unity
│ ├── scene2.unity
│ ├── scene3.unity
│ └── scene4.unity
└── Scripts/
├── PlayerController.cs
├── EnemyController.css
└── InventoryManager.cs
Formula
path('%AssetsDir%/*.cs', true)
Output
Assets/Scripts/PlayerController.cs
Assets/Scripts/EnemyController.cs
Assets/Scripts/InventoryManager.cs
peel
Returns a value of a field/property associated with an object by name. This method uses reflection, and, therefore, can be performance intensive if used a lot.
Arguments
Argument | Description |
---|---|
object | Object from which data will be extracted. |
string | Name of the field/property that's associated with the object. |
Returns
object
- value of extracted field/property.
Example
peel("Hello World", Length)
Output
11
Explanation
The first argument "Hello World" is of System.String
type, which has a property named Length
, which returns an exact length of the "Hello World" string, which is 11 (including whitespace).
percentage
Gets the value between 0 and 100 to specify percentage progress between 2 values.
Arguments
Argument | Description |
---|---|
float | First value |
float | Second value |
Returns
int
- a value between 0 and 100.
Example
percentage(50, 1000)
Output
5
pretty
Prettifies a string.
Arguments
Argument | Description |
---|---|
string | String that will be prettified |
Returns
string
- Prettified string
Example
pretty('helloThere')
Output
Hello There
read
Returns contents of a text file.
Arguments
Argument | Description |
---|---|
string | Path of a file to read |
Returns
string
- contents of a text file.
Example
Given the following text file located at C:/Path/To/shopping_list.txt
:
Shopping List:
- apples
- bananas
- oranges
Formula
read('C:/Path/To/shopping_list.txt')
Output
Shopping List:
- apples
- bananas
- oranges
split
Splits a string and puts contents into a collection.
Arguments
Argument | Description |
---|---|
string | String that will be split |
string | Character(s) a string will be separated by |
Returns
IEnumerable<string>
- collection of split strings.
Example
split('this;is;pretty;neat', ';')
Output (if contents printed out)
this
is
pretty
neat
sum
Sums 2 values together.
Arguments
Argument | Description |
---|---|
float | First value |
float | Second value |
Returns
float
- a sum of 2 values
Example
sum('3', '2')
Output
5
dirpath
Same as path
, but gives slightly more options and returns directories only.
Arguments
Argument | Description |
---|---|
string | File path to resolve |
bool | Whether to convert paths to be relative to root project directory |
bool | Whether the search should be shallow or not (top directories only) |
Returns
string[]
- resolved paths
Example
Given the following project structure:
Assets/
├── Scenes/
│ ├── scene1.unity
│ ├── scene2.unity
│ ├── scene3.unity
│ └── scene4.unity
└── Scripts/
├── PlayerController.cs
├── EnemyController.cs
└── InventoryManager.cs
Formula
path('%AssetsDir%/*', true, false)
Output
Assets/Scenes/
Assets/Scripts/
filepath
Same as path
, but gives slightly more options.
Arguments
Argument | Description |
---|---|
string | File path to resolve |
bool | Whether to convert paths to be relative to root project directory |
bool | Whether the search should be shallow or not (top directories only) |
Returns
string[]
- resolved paths
Example
Given the following project structure:
Assets/
├── Scenes/
│ ├── scene1.unity
│ ├── scene2.unity
│ ├── scene3.unity
│ └── scene4.unity
└── Scripts/
├── PlayerController.cs
├── EnemyController.cs
└── InventoryManager.cs
Formula
path('%AssetsDir%/*.cs', true, false)
Output
Assets/Scripts/PlayerController.cs
Assets/Scripts/EnemyController.cs
Assets/Scripts/InventoryManager.cs
Output Macros
addto
Add a resultant item to a target collection.
Arguments
Argument | Description |
---|---|
IEnumerable | Collection to add to |
Example
Given a variable: fruits
= ['apple', 'banana', 'orange']
Given the output value: "tomato"
addto(%fruits%)
Result
fruits
= ['apple', 'banana', 'orange', 'tomato']
invert
Inverts a boolean before assigning it to a target variable.
Arguments
Argument | Description |
---|---|
bool | Boolean that will be inverted. |
Example
Given the output value = "True"
invert(%new_variable%)
Result
new_variable
= "False"