Skip to main content

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.

ArgumentDescription
StringSeparator
IEnumerableCollection 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.

ArgumentDescription
IEnumerableString 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​

ArgumentDescription
floatA 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​

ArgumentDescription
IEnumerableCollection to check.
objectItem 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​

ArgumentDescription
IEnumerableCollection 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​

ArgumentDescription
longValue that will be decremented.

Returns​

decimal - Decremented value.

Example​

decr(10)
Output​
9

envar​

Retrieves a value of an environment variable.

Arguments​

ArgumentDescription
stringName 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​

ArgumentDescription
objectFirst object to compare.
objectSecond 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​

ArgumentDescription
IEnumerableTarget collection
intIndex 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​

ArgumentDescription
stringPath 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​

ArgumentDescription
stringPath 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​

ArgumentDescription
stringName 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​

ArgumentDescription
boolBoolean that determines which of the other parameters to return.
objectParameter that will be returned if boolean is true.
objectParameter 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​

ArgumentDescription
longValue that will be incremented.

Returns​

decimal - Incremented value.

Example​

incr(10)
Output​
11

invert​

Returns an inverted boolean.

Arguments​

ArgumentDescription
boolBoolean 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​

ArgumentDescription
stringPath 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​

ArgumentDescription
stringString 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​

ArgumentDescription
stringPath 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​

ArgumentDescription
IEnumerableFirst list/object that will be merged
IEnumerableSecond 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​

ArgumentDescription
stringPath 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​

ArgumentDescription
objectObject from which data will be extracted.
stringName 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​

ArgumentDescription
floatFirst value
floatSecond value

Returns​

int - a value between 0 and 100.

Example​

percentage(50, 1000)
Output​
5

pretty​

Prettifies a string.

Arguments​

ArgumentDescription
stringString that will be prettified

Returns​

string - Prettified string

Example​

pretty('helloThere')
Output​
Hello There

read​

Returns contents of a text file.

Arguments​

ArgumentDescription
stringPath 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​

ArgumentDescription
stringString that will be split
stringCharacter(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​

ArgumentDescription
floatFirst value
floatSecond 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​

ArgumentDescription
stringFile path to resolve
boolWhether to convert paths to be relative to root project directory
boolWhether 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​

ArgumentDescription
stringFile path to resolve
boolWhether to convert paths to be relative to root project directory
boolWhether 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​

ArgumentDescription
IEnumerableCollection 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​

ArgumentDescription
boolBoolean that will be inverted.

Example​

Given the output value = "True"

invert(%new_variable%)
Result​

new_variable = "False"