Script nodes
Every node Studio's logic graphs are built from: 496 of them. Each one is also a step a graph turns into code, so anything a graph does a script can do too.
How to use them: Logic as a graph.
Audio 21
- Fade Sound LayerfadeSoundLayer
- Get Band LevelbandLevel
- Get Bass Magnitudebass
- Get Beat InfobeatInfo
- Get Loudnessloudness
- Get Media PositionmediaPosition
- Get Mid Magnitudemiddle
- Get Now PlayingnowPlaying
- Get Onsetonset
- Get Sound Levelsaudio
- Get Spectrum Levelspectrum
- Get Tempo (BPM)tempo
- Get Treble Magnitudetreble
- Get Waveformwaveform
- On Beatbeat
- On Loudloud
- On Quietquiet
- On Track ChangedonTrackChanged
- Play SoundplaySound
- Set VoicesetVoice
- Stop VoicestopVoice
Classes 5
- Call FunctioncallMethod
- Call FunctioncallMethodPure
- Get Shared ObjectsharedObject
- Make ObjectnewObject
- SelfselfObject
Custom Events 3
Development 6
Events 16
- On Became Truebecomes
- On Custom Eventcustom
- On Custom EventeventIn
- On New DaynewDay
- On New HouronHour
- On Pausepause
- On Resumeresume
- On Scene Startstart
- On Screen Resizedresize
- On Seconds Passedafter
- On Setting ChangedpropChanged
- On Settings Changedsettings
- On Ticktick
- On Time of DaytimeOfDay
- On Timerevery
- On Value Changedchanges
Functions 5
Graph 6
HTTP 3
Input 15
- Get Mouse PositionpointerAt
- Get Pointer SpeedpointerSpeed
- Is Mouse Button DownbuttonDown
- On Clickclick
- On Double Clickdblclick
- On DragonDrag
- On GamepadonPad
- On KeyonKey
- On Layer ClickedonLayerClicked
- On Mouse ButtononPress
- On Mouse EnterpointerEnter
- On Mouse LeavepointerLeave
- On Mouse Movepointer
- On Mouse WheelonWheel
- Request InputrequestInput
Math › Colour 13
- Colour to HSVcolourToHSV
- Darken Colourdarken
- Get Complementary ColouroppositeColour
- HSV to Colourhue
- HSV to ColourcolourHSV
- Lerp ColourlerpColour
- Lighten Colourlighten
- Make Colourcolour
- Make Colour with AlphacolourA
- Make Colour with AlphacolourRGB
- Saturate ColoursaturateColour
- Select ColourselectColour
- Split ColoursplitColour
Math › Conversions 2
Math › Curves 4
Math › Date and Time 16
- Days in MonthdaysInMonth
- Days in YeardaysInYear
- Get Day of Weekweekday
- Get Day of YeardayOfYear
- Get Hourhour
- Get Time of Dayclock
- Get Todaydate
- Is AfternoonisAfternoon
- Is Leap YearisLeapYear
- Is MorningisMorning
- Is NightisNight
- Make Date and TimemakeDateTime
- NownowDT
- Split Date and TimesplitDateTime
- TodaytodayDT
- UTC NowutcNow
Math › Integer 7
- Absolute (Integer)absInt
- Clamp (Integer)clampInt
- DivideintDivide
- Maximum (Integer)maxInt
- Minimum (Integer)minInt
- Modulo (Integer)modInt
- Select IntegerselectInt
Math › Interpolation 6
- EaseeaseIt
- Follow at SpeedfollowAtSpeed
- Follow at Speed (Vector)followVectorAtSpeed
- Smooth Followfollow
- Smooth Follow (Vector)followVector
- Springspring
Math › Number 40
- Absoluteabsolute
- Accumulateaccumulate
- Addadd
- Average of Listaverage
- CeilceilingOf
- ClampclampIt
- Count UpcountUp
- Dividedivide
- Exponentialexponent
- FloorfloorOf
- Fractionfraction
- Get Math Constantconstant
- Get Rate of ChangerateOf
- In Rangebetween
- Inverse LerpinverseLerp
- Largest in Listlargest
- Lerplerp
- Lerp Angle (Degrees)lerpAngle
- Loglogarithm
- Maths Functionmaths
- Maximummaximum
- Minimumminimum
- Modulomodulo
- Multiplymultiply
- Nearly Equalapprox
- Ping PongpingPong
- Powerpower
- Remapremap
- Remap ClampedremapClamped
- RoundroundOf
- Select NumberselectFloat
- Signsign
- Smallest in Listsmallest
- SmoothstepsmoothStep
- SnapsnapTo
- Square RootsquareRoot
- Subtractsubtract
- Sum of Listsum
- Truncatetruncate
- WrapwrapIt
Math › Random 11
- Perlin Noise 1Dnoise1
- Perlin Noise 2Dnoise2
- Random BooleanrandomBool
- Random Boolean with WeightrandomBoolWeight
- Random IntegerrandomInt
- Random Integer in RangerandomIntRange
- Random NumberrandomFloat
- Random Number in Rangerandom
- Random Number in Range from Seedseeded
- Random Unit VectorrandomUnitVector
- Set Random Seedseed
Math › Trig 7
- Arctangent2 (Degrees)angleOf
- Cosine (Radians)cosine
- Degrees to RadiansdegToRad
- Make Angleangle
- Radians to DegreesradToDeg
- Sine (Radians)sine
- Tangent (Radians)tangent
Math › True or False 4
Math › Vector 2 7
- Cartesian to PolartoPolar
- Get Angle (Degrees)vectorAngle
- Make Vector 2vector2
- Make Vector 2makeVec2
- Polar to CartesianfromPolar
- Rotate Vector 2rotateVector
- Split Vector 2splitVec2
Math › Vector 3 17
- AddaddVectors
- Cross ProductcrossProduct
- Distancedistance
- Dot ProductdotProduct
- LengthvectorLength
- Length SquaredvectorLengthSq
- Lerp VectorlerpVector
- Make Vector 3vector3
- Make Vector 3makeVec3
- MultiplyscaleVector
- MultiplymultiplyVectors
- Negate VectornegateVector
- Normalizenormalize
- ReflectreflectVector
- Select VectorselectVector
- Split Vector 3splitVec3
- Unit DirectionunitDirection
Motes 22
- Add Mote OffsetmoteAddOffset
- Add TagmoteAddTag
- Attach MotemoteAttach
- Blend To ClipblendClip
- Destroy MotemoteDestroy
- Detach MotemoteDetach
- Get BonegetBone
- Get Mote by NamemoteByName
- Get Mote PositionmoteLocation
- Get Motes of ClassmotesOfClass
- Get Motes with TagmotesWithTag
- Mote ExistsmoteAlive
- Move Mote TomoteMoveTo
- On Mote ClickedmoteClicked
- On Mote HoveredonMoteEnter
- On Mote UnhoveredonMoteLeave
- Play ClipplayClip
- Remove TagmoteRemoveTag
- Set Mote PositionmoteSetLocation
- Set Mote RotationmoteSetRotation
- Set Mote ScalemoteSetScale
- Spawn MotemoteSpawn
Physics 11
- Add ForceaddForce
- Add ImpulsemoteImpulse
- Add TorqueaddTorque
- Break JointbreakJoint
- Cast RaycastRay
- Get Mote VelocitymoteVelocity
- Make JointmakeJoint
- On Mote HitmoteHit
- On Motes Stop TouchingonHitEnd
- Set GravitysetGravity
- Set Mote VelocitymoteSetVelocity
Rendering 37
- Bring To FrontbringToFront
- Burst ParticlesburstParticles
- Clear ParticlesclearParticles
- Clone LayercloneLayer
- Flash Layerflash
- Get Layer BoundslayerBounds
- Get Layer SettinglayerGet
- Get Live Layer SettingliveSetting
- Get Qualityquality
- Get Video TimevideoTime
- Is Point Over LayerpointOverLayer
- Is VisibleisVisible
- Layer At PointlayerAtPoint
- Living ParticlesaliveParticles
- Look AtcameraLookAt
- Move Layer Setting Totween
- On Video FinishedonVideoEnd
- Pause ParticlespauseParticles
- Pause VideopauseVideo
- Play VideoplayVideo
- Remove LayerremoveLayer
- Resume ParticlesresumeParticles
- Seek VideoseekVideo
- Send To BacksendToBack
- Set Camera OrbitcameraOrbit
- Set Effect SettingsetEffect
- Set Layer PalettesetPalette
- Set Layer SettingsetSetting
- Set Layer Visibilityshow
- Set Material ValuesetMaterial
- Set Spawn RatesetSpawnRate
- Set TextsetText
- Set Text PlaceholdertextVar
- Set Video SpeedvideoSpeed
- Shake Layershake
- Toggle EffecttoggleEffect
- Toggle Layer VisibilitytoggleLayer
Scene 29
- Find Layer by NamelayerByName
- Frame RateframeRate
- Get Batterybattery
- Get Calendar EventscalendarEvents
- Get Clock SecondsrealTime
- Get Layer CountlayerCount
- Get Layer PositionlayerPos
- Get Scene Timetime
- Get Screen Sizescreen
- Get Sensor Readingsensor
- Get Sensorssensors
- Get Settingprop
- Get System LoadsystemLoad
- Get Tick SecondsdeltaSeconds
- Get WeatherweatherNow
- Get Weather AtweatherAt
- Is On Mains PoweronMains
- Is PausedisPaused
- Is PreviewisPreview
- Languagelanguage
- Monitormonitor
- On Calendar ChangedonCalendar
- On Quality ChangedonQuality
- On Sensor ReadingonSensorReading
- On System LoadonSystem
- On Weather ChangedonWeather
- Platformplatform
- Sensor AgesensorAge
- Set Tick RatesetTickRate
Store 5
- Clear StoreclearStore
- Forget Valueforget
- Get Stored KeysstoreKeys
- Recall Valuerecall
- Remember Valueremember
Timeline 9
- Animate Layer Setting by CurveanimCurve
- On Timeline MarkeronMarker
- Pause TimelinepauseTimeline
- Play TimelineplayTimeline
- Seek TimelineseekTimeline
- Set Timeline SpeedtimelineSpeed
- Stop Layer Setting AnimationstopMove
- Timelinetimeline
- Timeline TimetimelineTime
Utilities 10
- Comparecompare
- Get Layer by NamemyLayer
- Get NamedisplayName
- Get Object by NameplacedObject
- Is AisObject
- Is ValidisSet
- Is ValidisValidExec
- Not EqualnotEqual
- Selectchoose
- SelectchoiceOf
Utilities › Flow Control 28
- Branchbranch
- Break LoopbreakLoop
- Cooldowncooldown
- Debouncedebounce
- Delaydelay
- Delay Until Next TicknextTick
- Do NdoN
- Do Onceonce
- Flip Floptoggle
- For Each LayereachLayer
- For LoopforLoop
- For Loop with BreakforLoopBreak
- Gategate
- Latchlatch
- MultiGatemultiGate
- Random Branchrandomly
- Repeat Looprepeat
- Retriggerable Delayretrigger
- Sequencefork
- Sequencesequence
- Switch on IntegerswitchNumber
- Switch on NumberswitchNumberCases
- Switch on TextswitchText
- Throttlethrottle
- TrytryIt
- Wait for AllwaitAll
- Wait UntilwaitUntil
- While LoopwhileLoop
Utilities › JSON 4
Utilities › List 37
- AddaddToList
- Add UniqueaddUnique
- AppendappendLists
- Append (Copy)appendCopy
- ClearclearList
- Contains ItemlistContains
- Copy ListcopyList
- Filter List BykeepWhere
- Find ItemfindInList
- Find Last ItemlastIndexOf
- For Each LoopforEach
- For Each Loop with BreakforEachBreak
- Get ItemitemAt
- Identicalidentical
- Insertinsert
- Is EmptyisEmpty
- Is Not EmptyisNotEmpty
- Is Valid IndexvalidIndex
- Last IndexlastIndex
- LengthlistLength
- Make ListmakeList
- Random List ItemrandomItem
- Reduce Listfold
- Remove IndexremoveAt
- Remove ItemremoveItem
- ResizeresizeList
- Reversereverse
- Reverse (Copy)reverseCopy
- Reverse for Each LoopforEachRev
- Set ItemsetItem
- Shuffleshuffle
- Shuffle (Copy)shuffleCopy
- Slice ListpartOfList
- Sort Listsort
- Sort List BysortBy
- SwapswapItems
- Transform ListchangeEach
Utilities › Map 13
- AddputInMap
- ClearclearMap
- ContainsmapHasKey
- FindfindInMap
- For Each Loop (Map)forEachPair
- Is EmptymapIsEmpty
- Is Not EmptymapIsNotEmpty
- Keyskeys
- LengthmapSize
- Make MapmakeMap
- Merge MapsmergeMaps
- RemoveremoveFromMap
- Valuesvalues
Utilities › Record 3
Utilities › Set 16
- AddaddToSet
- Add ItemsaddManyToSet
- ClearclearSet
- ContainssetContains
- Differencedifference
- For Each Loop (Set)forEachSet
- Intersectionintersection
- Is EmptysetIsEmpty
- Is Not EmptysetIsNotEmpty
- LengthsetSize
- Make SetmakeSet
- RemoveremoveFromSet
- Remove ItemsremoveManyFromSet
- To ListsetToList
- To SetlistToSet
- Unionunion
Utilities › Text 42
- Boolean to TextboolToText
- Colour to TextcolourToText
- ContainscontainsText
- Ends WithendsWith
- Equal (Text)equalText
- Equal Exactly (Text)equalTextExact
- Find SubstringfindSubstring
- Format Date and TimeformatDate
- Format Numberformat
- Format NumberformatNumber
- Get Character as NumbercharAsNumber
- Get CharacterscharArray
- Get SubstringgetSubstring
- Integer to TextintToText
- Is EmptytextIsEmpty
- Is NumericisNumber
- Join List into TextjoinText
- Join Textjoin
- LeftleftText
- Left ChopleftChop
- Left PadpadText
- MidpartOfText
- Not Equal (Text)notEqualText
- Not Equal Exactly (Text)notEqualTextExact
- Number to TextfloatToText
- ReplacereplaceText
- ReversereverseText
- RightrightText
- Right ChoprightChop
- Right PadrightPad
- Select TextselectString
- Split TextsplitText
- Starts WithstartsWith
- Text LengthtextLength
- Text to IntegertextToInt
- Text to NumbertextToNumber
- To Lower CaselowerCase
- To Upper CaseupperCase
- TrimtrimText
- Trim TrailingtrimTrailing
- Vector 2 to Textvec2ToText
- Vector 3 to Textvec3ToText
Values 8
- AssetassetValue
- Event NameeventValue
- Integerinteger
- LayerlayerValue
- Nothingnothing
- Numbernumber
- Texttext
- True or FalseyesNo
Variables 8
Notes from the community
Written by creators and checked by the docs' editors. Not part of Motion's official reference.