# Design patterns

There are many different ways in which you can use the Experience Editor to create the experience that you want. Included below are some common design patterns that you can use and combine.

## Linear experience

![Linear experience](/files/gY3GA2ryqh5PrnLfFX1C)

This design pattern is suitable for animations and educational or training materials. After the experience begins, it plays through all of the content in a linear order, and then ends.

This is the easiest design pattern to use. Add objects to the timeline and animate them in any way that you want. To test the experience, you can use the playback controls in the Experience Editor.

## Segmented

![Segmented](/files/7cTuS0hYxya8w01J8vmh)

This design pattern is suitable for experiences where the user's actions trigger jumps to different parts of the experience. For example, you may want to play training content in sections, and give the user an opportunity to reflect on content before they choose to continue. Alternatively, you may want to create a branching narrative where a user's choices determine which parts of a story are shown.

To use this design pattern, divide the timeline into separate, looping sections. You can then use **Skip to Time** IFX - both to create the loops and as triggered effects to jump from one segment to another. For more information, see [Creating a loop](/engage/experience-editor/playback-events/creating-a-loop.md).

## User triggered

![User triggered](/files/hjzZesIsxUsn2ELPUTrb)

This design pattern is suitable for experiences where a user can trigger animations, but where those animations can overlap.

To use this design pattern, create a continuous loop on the main timeline. You can then add triggers that add objects or recordings to the main experience. For more information, see [Creating a loop](/engage/experience-editor/playback-events/creating-a-loop.md) and [Triggers](/engage/experience-editor/working-with-objects/triggers.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.engagevr.io/engage/experience-editor/overview/design-patterns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
