<!--
{
  "documentType" : "article",
  "framework" : "USD",
  "identifier" : "/documentation/USD/groupaction",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "GroupAction"
}
-->

# GroupAction

An action that runs a list of other actions.

## Discussion

This action defines how the runtime executes each action in the [actions](/documentation/USD/actions) array. When [type](/documentation/USD/type) is `serial`, the runtime performs [actions](/documentation/USD/actions) one after the other. When [type](/documentation/USD/type) is `concurrent`, the runtime starts each action at the same time.

When this action’s [type](/documentation/USD/type) is `serial`, you can specify a delay between two actions by placing a `WaitAction` between them.

### Declaration

```other
class Preliminary_Action "GroupAction"
```

### Create a sequential or looping group action

The following example defines a group of actions that run sequentially. The group contains a flip action, a wait action, and a hide action.

```other
def Preliminary_Action "SimpleGroup" (
    inherits = </GroupAction>
)
{
    rel actions = [ <Flip>, <Wait>, <Hide> ]
    uniform bool loops = false
    uniform uint performCount = 1

    def Action "Flip" (
        inherits = </EmphasizeAction>
    )
    {
        uniform token motionType = "flip"
    }

    def Action "Wait" (
        inherits = </WaitAction>
    )
    {
    }

    def Action "Hide" (
        inherits = </VisibilityAction>
    )
    {
        uniform token type = "hide"
    }
}
```

The following group named `EndlessLoop` repeats a set of actions indefinitely because `performCount` is `0`.

```swift
def Action "EndlessLoop" (
    inherits = </GroupAction>
)
{
    rel actions = [...]
    uniform bool loops = true
    uniform uint performCount = 0
}
```

## Topics

### Properties

[info:id](/documentation/USD/info-id)

The action’s unique identifier.

[type](/documentation/USD/type)

An option that controls the order in which the actions execute.

[loops](/documentation/USD/loops)

A Boolean value indicating whether the group loops.

[performCount](/documentation/USD/performcount)

A value that specifies the number of times the group’s actions repeat.

[actions](/documentation/USD/actions)

A list of actions that make up the group.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)