# Welcome to Mutate!

## So, you wanna create a game...

#### That can be real hard, we know. We've been there!

So we want to make it easy, and help unleash your creativity! Mutate is a place for creators and gamers to hang in communities, play and create together - or solo, if that's what you want. Our mission is to hand you the tools to make something you can be proud of, and share your games with as many people as you like.

With that said... you up for the challenge? 👀

{% embed url="<https://youtu.be/5wLQ1PUvH6w>" %}

### What is Mutate? <a href="#e923" id="e923"></a>

Mutate is a social platform based on games, where everyone can be **both a player and a creator**, in the same application. Our goal is for **everyone to feel included** and, as part of that, most of our platform is about removing friction and focusing on accessibility. Mutate is also about unlocking people’s creativity.&#x20;

Our philosophy is that **anyone can be a creator** given that they have access to easy to use tools. And above all — you can socialize with others live, get inspiration, share ideas, get help and have an experience that is as engaging as playing. You can summarize Mutate with three parts in order to open up a new creator class within gaming:&#x20;

* You can create with drag and drop — no code. What you see is what you get.
* Everything is live and social. We play together and we create together — no waiting and no compiling.&#x20;
* Players can directly remix existing games and publish the remix in create mode. Then, suddenly, there is a new game for others to also play in the future.&#x20;

These features will power our platform to consist of an infinite stream of games!

> — Christian Pérez, *Co-Founder & CEO of Mutate*

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FkdlVaAyOvLcTf47G7lTN%2F1*ZKhBhqlHBAWITwKFHRt7xA.jpeg?alt=media\&token=bbc2a15e-73d1-4f46-894c-72bb9f3dcce7)

### Intro Guides: Jump right in

Follow our handy tutorials to get started on the basics as quickly as possible:

{% content-ref url="/pages/qa9uSL3I4DyS5HBOKPFr" %}
[How to get started using Mutate](/guides/how-to-get-started-using-mutate)
{% endcontent-ref %}

{% content-ref url="/pages/JqT8eqScymrV1mS4wLtd" %}
[Basic Navigation in Mutate](/guides/basic-navigation-in-mutate)
{% endcontent-ref %}

{% content-ref url="/pages/J3jfhIjeeDP83BfBTI0J" %}
[Importing assets into Mutate](/guides/importing-assets-into-mutate)
{% endcontent-ref %}

{% content-ref url="/pages/tvxGRZhpSX03UAzdCewK" %}
[Creating game logic in Mutate](/guides/creating-game-logic-in-mutate)
{% endcontent-ref %}

{% content-ref url="/pages/GeOXUcQveG9uhPH3pOff" %}
[Obstacle course tutorial](/guides/obstacle-course-tutorial)
{% endcontent-ref %}

### Tools

Learn the fundamental Tools so you can really get started creating in Mutate:

{% content-ref url="/pages/aoZZwnhhbCgHiBAshTuO" %}
[Grab Manipulator](/tools/grab-manipulator)
{% endcontent-ref %}

{% content-ref url="/pages/cfxmof0uRNBEgEBxsqf5" %}
[Transform Manipulator](/tools/transform-manipulator)
{% endcontent-ref %}

{% content-ref url="/pages/1YbhUUDaz0Hly7M5haAn" %}
[Linking](/tools/linking)
{% endcontent-ref %}

### Content browsers

Learn how to shape the look and feel of the games you create in Mutate:

{% content-ref url="/pages/30rU9OFgpX7HkjnJqlgm" %}
[Asset Browser](/content-browsers/asset-browser)
{% endcontent-ref %}

{% content-ref url="/pages/AEKIa5Tk5xOLDYVuEsNU" %}
[Material Browser](/content-browsers/material-browser)
{% endcontent-ref %}

### If you're after in-person learning, or simply want to join the party, jump into [our Discord](https://discord.gg/rNNmBGD) and our team will point you wherever you need to go. We’ll see you there 🤞 <a href="#id-1ad4" id="id-1ad4"></a>


# How to get started using Mutate

### Welcome! **👋**

We’re going to guide you through the first steps of using Mutate — all the basics of signing up, creating your first game, and sharing it to build with as many friends as you want.

#### Let’s get moving!&#x20;

**First off, you need access to a valid key.** You can join our [**Discord**](https://discord.gg/rNNmBGD) to get exclusive early access, or get an invitation from a friend already using Mutate.

* Click the link you’ve received — seems obvious.

![](https://miro.medium.com/max/800/0*_kJWkBmFuGGeS6fp)

* The link will take you to a page with your **unique invite code**, which you need to copy down. Here you can also download and install Mutate, which you should probably do if you want to start playing!

![](https://miro.medium.com/max/800/0*gGJOf40unxt3RSjj)

* Launch Mutate as you would any other game. In the launcher, you can either **sign in** or **register** as a new user — which is you! To register, just enter your email address, pick a username and password, and fill in your invite code (you haven’t forgotten it, right?)

![](https://miro.medium.com/max/800/0*b0kDnjiVPH7GUlvH)

* Once your account is set up, there might be a new update out that needs installing before you can get down to the good stuff! If that’s the case, you’ll see an icon like a **cardboard box** in the **top left corner**. All you have to do is click and confirm to install the update.

Updates usually take only a minute or so to install, so it’s easy as pie!

![](https://miro.medium.com/max/800/0*SF1zOFxEzpkddkMi)

* To get started with creation, you need to join a **community**. For newcomers, we recommend joining the main **Mutate** one — a hub with all the team who can help you out to build whatever cool stuff you want.

![](https://miro.medium.com/max/800/0*aDPsRkL-oQjyirFC)

* On the left sidebar, go to the **Create** tab and select “Create Game” to create a new game. This practically writes itself!&#x20;
* Now you can choose to start with an awesome template, provided by the team and other community members, or an empty world that’s entirely your own to design 🎨

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FyAUgki274LGXTpHn6jmr%2Fhsuai.png?alt=media\&token=ed6c0833-a6d6-421f-8550-0599f58ce0f3)

* Now, if you want to **collaborate** with a friend, you can click the **share** icon at the top of your game’s info page. This will copy a link that you can send to a friend or in Discord. If they open the link, they can come join you at any time.

![](https://miro.medium.com/max/800/0*dqW_hk9DIEsv8wbJ)

### That’s it — you’re ready to make things happen! 🎉 <a href="#id-780a" id="id-780a"></a>

Now, let's crack on with some real tutorials, shall we?


# Basic Navigation in Mutate

### All the keys, shortcuts, and navigation tools you need to know to get the most out of Mutate! Let's go :)

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FIwrQhJSUWL2Dhe7rjZUW%2Fezgif.com-gif-maker%20\(82\).gif?alt=media\&token=5014a373-4e72-4673-8669-d82cd8142277)

## Create Mode <a href="#id-25bd" id="id-25bd"></a>

**WASD** — move the camera in set directions — forward/left/back/right

**Space** — move the camera directly upwards

**Left click** — select and manipulate items, modes and components

**Right click** — hold down to look around and move the camera in any direction

**CTRL** — hold down while selecting objects to group them together for a function; e.g. selecting several objects to move them all to the left

> Can also be used to select objects that have been locked
>
> For some objects, like landmasses, walls and floors, it can be a good idea to lock in place to avoid accidentally moving
>
> Multiple objects can only be selected in Transform mode (T). If you are having trouble selecting multiple objects check you are not in Grab (G) or Linking (V) mode!

![Lots and lots of selected objects using Ctrl](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FSuDaWnyit4lsqfP9Fe42%2Fgame%20dev.jpg?alt=media\&token=b557d9ad-ae78-4b11-856c-18a0eb293ad9)

**Alt** — hold down and click-drag objects to perfectly duplicate them, including all their components and linking!

**E** — Toggle free-fly camera and player avatar, useful for testing how things look to a player without entering playtest mode

**Z** — zooms you immediately into the selected object

**Shift** — hold to fly faster through the worldspace

**Delete** — deletes the selected object(s)

**Escape** — deselects everything

![Duplication made easy with Alt](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F4wdWCfP7quvT7LdMHWZv%2Fezgif.com-gif-maker%20\(55\).gif?alt=media\&token=8ff852dd-9049-474a-9f3e-f89a49926cbe)

## Create Mode Hotkeys <a href="#id-2259" id="id-2259"></a>

**B** — Asset Browser — used to search for and import assets into the game

**G** — Grab mode — select and move items without axis pop-ups

**T** — Transform — more detailed manipulation of objects. Hotkeys for Transform mode are:

* 1 — Move
* 2 — Rotate
* 3 — Scale
* 4 — Global axis
* 5 — Local axis

**V** — Linking — create logic and mechanics for objects with components attached, as well as changing the look of the environment and game parameters — like adding guns to create a shooter level, and player score for collection maps. Hotkeys for Linking mode are:

* 1 — Player — set health, movement speed, respawn rate, camera placement
* 2 — Mechanics — set teams, scoreboard limits, when to start/end games
* 3 — Environment — alter the sky, water, weather and ambience

![Linking mode](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FsbfsKX2IJWeEwSrhqXko%2FLINKING.png?alt=media\&token=774ded8b-1ee2-45e9-8235-d657897ef724)

## Play Mode <a href="#caa0" id="caa0"></a>

**WASD** — move in a specific direction

**Mouse/touchpad** — move camera anywhere

**Enter** — open text chat/send message

**Space** — jump

**Shift** — hold to sprint

**Ctrl** — hold to crouch

**Left click** — shoot (if you have a gun)

**F** — interact with object

**Escape** — Pause/unpause game and camera movement for you only

**F1 to F10 —** emotes

**F11** — Maximizes full screen, removing window and task bars from the screen; great for that immersive experience!


# Importing assets into Mutate

## Hello, hello, hello! 👋

### This is a quick introduction for you to get started importing your own assets into Mutate. It’s super easy so let’s dive in!

#### 1. Simply drag and drop a .vox or .obj file from your documents into the Mutate creation window

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FcUs9rQRP2PtmwP3u9TTt%2Fezgif.com-gif-maker%20\(33\).gif?alt=media\&token=79488941-7404-4569-95c8-483277aea690)

{% hint style="info" %}
***WHY CAN I ONLY IMPORT THESE KINDS OF ASSET?*** \
Mutate is built on an art style called voxels — think of it as taking square pixels from 2D to 3D. Everything you see and play with in Mutate is created from voxels, and we make a lot of our own assets using a piece of software called MagicaVoxel, which automatically exports creations as .vox files.
{% endhint %}

#### 2. Once the asset appears onscreen, it’s going to look totally flat and grey, so we need to change its materials in order to spice it up. Select the Visuals tab on the top right, and mess around with assigning colours and textures 🎨

![You can speed up texturing by searching material keywords, like ‘metal’ or ‘fabric’](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FxhhyqB2ORSzIdPcJuGt2%2Fezgif.com-gif-maker%20\(34\).gif?alt=media\&token=2002c4f5-6e87-4ca4-9ef4-830b429ca483)

{% hint style="info" %}
***Tip:*** Some assets only have one material ‘slot’ assigned in the base object — known as colors for .vox, meshes for .obj — so the whole asset will be a uniform colour and texture, whereas others have lots of slots for details you can bring out by choosing all kinds of materials.
{% endhint %}

#### 3. In the Settings tab, click the Camera icon to create a preview image for your asset. This is so you and everyone else knows what the item looks like when browsing the asset window.&#x20;

You can now also give your asset a name, description, and appropriate tags, so it can be searched for and found effortlessly.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FbdRMpw9ceBrKecdDUZP8%2Fezgif.com-gif-maker%20\(36\).gif?alt=media\&token=30bcbf3f-2dce-4e81-a673-37a61a00b62c)

{% hint style="info" %}
**An asset can be posted in two different ways:**\
***Local asset:*** available only in the community you are currently creating in \
***Public asset:*** available to anyone using Mutate
{% endhint %}

When you're ready, simply click 'Save' and that's basically it!

#### 4. Access your newly saved asset from the "Asset Browser"

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FjAeb9RZ2w0vSEQLzZvZc%2Fezgif.com-gif-maker%20\(37\).gif?alt=media\&token=effe8ee4-afdb-4a0e-bcd9-e92ecc1fe444)

{% hint style="info" %}
***Tip:*** Something to note is that each color in your base .vox object will be able to be assigned a unique material in Mutate. However, for an .obj file you only get one material per mesh. Whatever file you import though, you can always edit materials on every single asset in the game whenever you like for maximum customization.
{% endhint %}


# Creating game logic in Mutate

## Howdy-do! 👋

In this tutorial mini-series, we’ll go through how to create basic game logic in Mutate — also known as mechanics — which will give you everything you need to really start building something cool!&#x20;

We'll create a basic treasure hunt level, where you have to collect a certain number of items first in order to win! We chose little cat statues, but you can theme your tutorial session however you'd like!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FuUCqmBHwQ5wsfbcFahKJ%2Fezgif.com-gif-maker%20-%202022-03-16T104805.281.gif?alt=media\&token=dbf0dc63-1bc9-40a9-8315-fb59a8d1f5d7)

Treasure hunts are great for creating and playing alone and with friends, because any number of players can be involved. Any level of difficulty can be set - like hard to reach collectibles, or traps that respawn the player so they lose a headstart - which makes these levels as diverse and replayable as you want them to be!

{% hint style="info" %}
If you'd like to follow along by building with our exact level, simply go to Create > Create Game and choose "Tutorial Template - Treasure Hunt" and a blank slate version of what you see here will be yours to control!
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FsCxUVDn5GAzZwqjqKTPc%2Fezgif.com-gif-maker%20-%202022-03-16T124052.238.gif?alt=media\&token=6f17856b-b9f1-481d-bb1e-f407c9dbe71a)

### 🏃 Now let's get on with it, shall we?&#x20;


# Spawning

a.k.a placing a Spawn Point

The first thing you should do when creating game logic is adding a **spawn point**. If you don’t, you’ll just spawn anywhere, which isn’t what we want.

To add a spawn point, click on whatever object — which we call **entities** — you want your players to spawn on. A platform or landmass is ideal for this.

Head to **‘Components,’** find **‘Spawn Point’** and click the little **+** next to it. This will add a spawn arrow to indicate which way you’ll face when you spawn, which you can change however you want.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FvmbdmgGcn7aX9TkoOWxh%2Fezgif.com-gif-maker%20\(39\).gif?alt=media\&token=cce70e1e-a3e2-4138-8a3e-aff3d68839ab)

{% hint style="info" %}
For this first spawn point, make sure you click ‘**Yes**’ for ‘**Spawn here at start**’ — otherwise the game will think it’s a checkpoint when you load in, and will still spawn you randomly.
{% endhint %}


# Re-Spawning

a.k.a placing a Trigger Zone, and creating your first Link

But what’s the problem with spawning anywhere? The water doesn’t kill me. \
Not yet it doesn’t — but we can fix that. Let’s make a kill plane; think of it as The Floor Is Lava 🔗

![Well, this is awkward...](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F8RRJV9mwLUXxSTnvOcEb%2Fezgif.com-gif-maker%20\(40\).gif?alt=media\&token=b9ef108d-5663-455d-b062-f0417c086f5d)

Creating a kill-plane is easy, we just need to add one more layer to the component; a link.

{% hint style="info" %}
**Linking** is basically like the game’s thought process — if X happens, then I respond with Y.&#x20;
{% endhint %}

You can add as many links to things as you want, to make all kinds of cool stuff happen, but for now let’s stick to one.

To kill-plane the water, you can select any entity that touches it — for this tutorial, we’ve just put some floating rubble. Add the ‘**Trigger Zone**’ component to it, which should make a bright pink box appear around it. Mess around with the size of the box to make sure it covers the whole level — 200 will usually do it. You now have a trigger zone 🗺️

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FCi7QORNawoAR19sdjGaE%2Fezgif.com-gif-maker%20\(41\).gif?alt=media\&token=08581ec2-fd51-47f1-b461-2d5be81d6ea3)

Next go to **Linking Mode** in the top toolbar, and an orange box will now appear on the entity. Click the **orange +** and this will bring up a list of possible responses that the game can make, according to what components you have attached to the entity. For Trigger Zone, the only options are for entering (or touching) and leaving the zone.

Select ‘**Entered trigger zone**,’ which will add to your cursor what looks like rope. This is the link itself, which we use to connect objects and actions. For this example, we want to click on the **Players icon** (what looks like a little orange person) in the top toolbar, and select ‘**Respawn**.’ We must also decide who should respawn, so we pick ‘**Triggering player**’ so that only the person who fell in the water is respawned 🌊

![Press V for a shortcut to Linking mode!](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fat5GzqEMmEDoPgukXKQz%2Fezgif.com-gif-maker%20\(42\).gif?alt=media\&token=c4e52889-1e7a-4401-bc1f-269a8a4a4ed4)

With that link done, our kill-plane is set up and ready to kill! Finally, lower the whole entity on the Z axis (straight down) so the pink box is **only just visible** above the water. This is so you don’t get killed if you go down a slope in the level that is the same height as the plane.

{% hint style="info" %}
You can also lower the trigger zone box without changing the position of the entity itself with the **Position (m)** settings in the components menu. For straight up or down, the Z axis is your guy!
{% endhint %}

![Ouch...](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fc9Usr8B5Ck3vQpmKJwSH%2Fezgif.com-gif-maker%20\(43\).gif?alt=media\&token=b58290be-76a4-4e97-9592-e678e2968f5d)

## &#x20;<a href="#id-3eac" id="id-3eac"></a>


# Platforms

a.k.a an easy obstacle with Mover

#### The simplest obstacles are made using the ‘**Mover**’ component. So let’s place a platform that will move back and forth, which can help you jump a gap that’s too wide. Play around with placement until you’re happy, then + add the Mover to it.

Now you can alter the direction the platform will move in, and its speed. Make sure to select ‘**Yes**’ to ‘**Auto-Start**,’ otherwise you will have to create more logic to make it move.&#x20;

Selecting ‘**Yes**’ on ‘**Yo-yo**’ will ensure the platform will move **constantly** back and forth, instead of once in one direction.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F9noh5tjVG6TqsK9kRvor%2Fezgif.com-gif-maker%20\(44\).gif?alt=media\&token=ee65504c-e622-4cba-8688-23c2eb0af728)

{% hint style="info" %}
***Tip:*** Some components, like Mover, you can preview in the editor without having to test the game — just look for the triangular play button on the right-hand side of the menu: ▶️
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FSbb2V5Pn71kE5hMYNQWp%2Fezgif.com-gif-maker%20\(45\).gif?alt=media\&token=c64057b1-9d0a-4c90-b817-289ab56da990)


# Collectibles

a.k.a creating an Interaction with a Player Component

Just like entity components, we can add special components to players and the game as well. To track points a player can earn, we need to assign a **Player Component**. Head to Linking again, and you will see three new icons appear. These are components for Players, the Game overall, and the Environment.&#x20;

Select the ‘**Player Components**’ tab, press **+** to reveal more options on the right-hand side components menu, and select ‘**Score**.’

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FGueDbt04r86KJAkanK6L%2Fezgif.com-gif-maker%20\(46\).gif?alt=media\&token=0d3dfcae-61fa-4d78-bcdd-c25591bc1c31)

Place any entity and add the **‘Interact’** component to it. You can also change the text that appears when the player hovers over the item in-game, so for collectibles it’s best just to put ‘Collect.’

Now create a link from the collectible; select ‘**Interacted**’ and link to the players icon. Complete the link with ‘**Gain Score**,’ filtering so only the player that interacted gets points.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F2NFOhB4FZIynt1935Vz9%2Fezgif.com-gif-maker%20\(47\).gif?alt=media\&token=9a4738a5-9198-4ce8-b356-3b0572cd0cb8)

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FSKy14329R8fw3trHgt3P%2Fezgif.com-gif-maker%20\(48\).gif?alt=media\&token=8d7ab188-e6c3-47fb-a488-5484d5488aab)

{% hint style="info" %}
***Tip:*** By default, points go up by 100 whenever you collect something, so make sure your final score is large enough to accommodate this!
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FbPIbtVApLr0orOduOPOI%2Fezgif.com-gif-maker%20\(49\).gif?alt=media\&token=794d4f91-1812-4ab4-9fdd-bbea0911d008)

To finish it out, select ‘**Yes**’ for ‘**Win by reaching**.’ Now it’s a race to see who can collect the most first!


# Item Visibility

a.k.a the basics of the Hider component

To make an item that can only be collected once, let’s create another link.

Click on the collectible and add the ‘**Hider**’ component, and then go to Linking.&#x20;

Add another link by pressing + and select **‘Interacted**,’ then link back **onto the object itself** by clicking a little box that will appear just above the + on the top right corner. Select ‘**Hide**’ — now, when you interact to collect the item, it will disappear.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FxxMDs4WKEmNDdz3KJWXC%2Fezgif.com-gif-maker%20\(50\).gif?alt=media\&token=d8bf8187-b7f5-4d10-a826-01ca2c6c00dd)

{% hint style="info" %}
Objects that have 'disappeared' will still have collision on them - meaning, you can still run into them and they will act as an invisible wall. To avoid this, you'll need to also assign the entity the **Collision Toggler** component, and create some more links.

Learn how to do that here.
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fy2zcqFlbbiOi3TfTGCNC%2Fezgif.com-gif-maker%20\(51\).gif?alt=media\&token=ac115b79-8739-44df-ae5f-a67eb8a3bbf5)


# Item Respawn

a.k.a creating links between Timer and Hider

We now have a very simple game. To make it a bit more dynamic, we’ll add some more logic to the collectibles to make them appear and disappear until you’ve collected enough of them to win. There’s more than one way to do this, but we will show you the simplest for now.

To make an item you’ve already collected re-appear, select the entity once more, and add the ‘**Timer**’ component. Change the time to as many seconds as you like, but we recommend at least 10 or 15, so players aren’t motivated to camp and wait for it to respawn. Now you can create two more links **from the entity onto itself** - also known as self-links 💫

![Just one second, for tutorial purposes ;)](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FZbeGbwV89HyZKqyzGDn0%2Fezgif.com-gif-maker%20\(52\).gif?alt=media\&token=7bab8102-b293-47be-8a4c-f443fbda0054)

First, create a new link and select ‘**Hidden**,’ with the response being ‘**Start timer**.’ Next, another link from ‘**Timer ended**’ to ‘**Show**.’ Because we previously set the collectible to disappear when we collect it, when we collect it now, it will start a countdown until it reappears. This process can loop endlessly until the game ends.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FJbNSXnKZj7awJbnDVae7%2Fezgif.com-gif-maker%20\(53\).gif?alt=media\&token=c8bb55fc-ec6d-4923-bf61-2b3fe2464847)

{% hint style="info" %}
***Tip:*** You can duplicate any entity in the game, so now you don’t have to individually link every single collectible. Simply hold down the **Alt key** when in **Transform** mode, select the item and drag to place elsewhere. Keep holding Alt and selecting new duplicates until you have as many as you need.
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F4wdWCfP7quvT7LdMHWZv%2Fezgif.com-gif-maker%20\(55\).gif?alt=media\&token=8ff852dd-9049-474a-9f3e-f89a49926cbe)

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FVyNwLovRduWWWz4eyz4U%2Fezgif.com-gif-maker%20\(56\).gif?alt=media\&token=1b49f128-47a7-4a15-aa38-3fc0188e6115)

### **And that’s it!**&#x20;

We’ve just created a super small game that shows you the fundamentals of components and linking. With these basic concepts, you can make a whole lot more — anything is possible, yeah? Looks like you’re ready to start making your own first game! 👌

### If you need more help, or want to boast about your amazing building skills, hop on into [our Discord](https://discord.gg/rNNmBGD) to join all the fun. We’ll see you there 🤞 <a href="#id-1ad4" id="id-1ad4"></a>


# Obstacle course tutorial

Get familiar with Mutate by building an obstacle course.

## Welcome! 👋

#### With this tutorial, you’ll get to work fixing up an unfinished obstacle course to make it work the way it should. This is an exercise in learning the core concepts of building games in Mutate in a more hands-on way — and with a much quicker pay-off than building your own from scratch!

### 1. Starting the create session

Create a new game and choose the template ‘**Tutorial Obstacle Course**.’ Give it a name, and a description and thumbnail if you want to — you can always edit these whenever you like.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FBTbLewoPREq4kKDiREzc%2Fezgif.com-gif-maker%20\(58\).gif?alt=media\&token=21776145-ca81-41bb-92aa-5ca73f83cbd8)

### 2. **Initial play test** ▶️

There’s some things in this course that need fixing. Try out the course with a play test to see how it feels, and see if you can figure out what you need to do before getting started.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FPbLnXkCnGbnIXCHqFLlr%2Fezgif.com-gif-maker%20\(60\).gif?alt=media\&token=bf61dac4-98b2-4839-9fec-f5060b408eab)

### 3. **Duplication — make it spiky!** 🩸

Ok, first things first! We need to fix the spike trap, since there’s no challenge to them right now. Duplicate a set of spikes to fill the gap in the middle by holding down **Alt**, then click-and-dragging from one of the original spike sets with the Transform ‘**Move**’ manipulator tool.<br>

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FF8Yh37Zsf0xrZnScofuj%2Fezgif.com-gif-maker%20\(61\).gif?alt=media\&token=221773cb-8c22-41c4-8d2e-8e7c78c2bbfb)

{% hint style="info" %}
***Tip:*** you can do this by eye, or with more precision using Global or Local Axis arrows to keep your movements in perfectly straight lines.
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FCIdShERhix4BJYPdAZDq%2Fezgif.com-gif-maker%20\(62\).gif?alt=media\&token=b74bf98f-654b-40f1-98f3-bc0b00fda757)

Already looking a little more deadly, so let’s hope you’re good at jumping…

### 4.**Movement — don’t get caught! 💥**

The portal trap is stopping midway. Open its **Mover** component and adjust its end position coordinates to make it go past the ditch. We can also make its speed higher now that it goes the full length, so you really have to duck and hide to avoid getting zapped!<br>

![You can preview certain components without playtesting — just look for the little play button in the menu ▶️](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FTShwGKUmXocPiMnLRT0x%2Fezgif.com-gif-maker%20\(63\).gif?alt=media\&token=594d2462-2ae1-4334-94ee-d9387de2c597)

{% hint style="info" %}
You can even set the portal to move back and forth for extra difficulty; just select ‘**Yes**’ to ‘**Yo-yo**’ in its component settings *🪀*
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FElIWsNxZH6ewTno8JjUo%2Fezgif.com-gif-maker%20\(64\).gif?alt=media\&token=0ec21d5b-406c-46df-bb65-4ac4aa702c69)

### 5. **Force Zones — who needs pixie dust? 🧚**

Help the player get over the terrain blockages by adding **Force Zone** components to the glowing blue braziers you see. The pink box that appears indicates where you can be ‘forced’ to, so make sure they’re tall and wide enough to get where you need to go.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FrJCpaQUoJF2ZDZFoZRoS%2Fezgif.com-gif-maker%20\(65\).gif?alt=media\&token=c8f0ba4a-6527-4db2-b9f1-e60573863ba3)

To bridge the gap between the islands, you’ll have to play with **rotation** as well as **size**, but upping the **force intensity** can help with long distances by propelling you forwards!

Now all you have to do us duplicate a third brazier onto the middle island, and make it up to the platform! Good thing you’re already a pro at duplication, right? 😉

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FEuskFzGA3acYkzKyrTMX%2Fezgif.com-gif-maker%20\(66\).gif?alt=media\&token=85c88dd1-d2af-4199-8a45-6c3a83c05a78)

{% hint style="info" %}
Force Zones are basically a way to help a player reach impossible places they can’t jump to. Think of them like levitation pads — they work by the game forcing you to touch anything but the object they’re connected to!
{% endhint %}

### 6.**Play test — check that progress!** 💪

It’s always good to test your creations once in a while. Feel free to test what you’ve built so far, and see what you’ve already got under your belt. Take the time to play around with settings some more if things aren’t how you want them.

### 7.**Destruction — I always hated that door 💣**

Time to fix the big button that does nothing right now — it clearly has a faulty fuse. We want to create a set-up that destroys the wooden door when you push the button.

First, add the **Interact** component to the button and change the interaction text to something like ‘Push’ or ‘Boom!’ or ‘Detonate.’ Then add the **Destruction** component to the door. Now we need to make a connection between the button and the door. Head to the Linking tab to get started.​

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fn6Xgan0AEu8nss2yqWDv%2Fezgif.com-gif-maker%20\(67\).gif?alt=media\&token=c0e436a8-e3ca-4b17-98d2-04ae9b60162d)

{% hint style="info" %}
When we create a new link we get to pick an **Event** and then an **Action**, which are both generated according to the specific component on each object. You can think of Events and Actions like this: When X happens (event): the game does Y (action).
{% endhint %}

Select the button, press the orange + and choose ‘**Interacted**’ from the list that appears. Now click on the orange box that should have appeared on the door, and choose ‘**Destroy**.’ A straight line should now form between the linked objects to let you know it worked!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F4Hj1y6V4qjzvEzl0tWYT%2Fezgif.com-gif-maker%20\(68\).gif?alt=media\&token=a57fb10e-3888-48f9-9844-3326265e676f)

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FYNMVWMRXou3HPpq1pzIK%2Fezgif.com-gif-maker%20\(69\).gif?alt=media\&token=a2fc5adc-2e0d-418e-995f-e0a99d1d7703)

### **8. Adding obstacles — rock and roll 🏃**

There’s just room for a little more. For our new obstacle, we’ll be using a spiky ball coming to crush you, but feel free to get creative with your own build.

Scroll or type to search for the item you want in the **asset browser**. When you find it, simply drag it onto the scene, and adjust it into position near the house. Play around with size and rotation to make it really feel like a final hurdle!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FmFuxz9LWE8q1CUaCVBIo%2Fezgif.com-gif-maker%20\(70\).gif?alt=media\&token=ca6e7acd-872d-403e-a610-b62b6b837b68)

We need to add two components to make this obstacle function: **Mover** and **Collider**, so go ahead and add those.

First, tweak the **end position** settings for the **Mover**; make it so the obstacle can move all the way up to the broken door. This may take a little trial and error until you get used to each axis, but keep at it!<br>

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fzsh2ApqFuUvwJia0B8ug%2Fezgif.com-gif-maker%20\(71\).gif?alt=media\&token=2e1eea51-65cc-4d2c-a46e-85a15497fd82)

Then we’ll do something called **self-linking**; we want to tell the ball to restart once it hits its end position. For that we create a link using the event ‘**Reached end position**,’ and clicking on the little symbol just above the + on the **same box** as the currently selected item, finishing with the action ‘**Teleport to start position**.’

To keep the ball rolling down over and over, link again from ‘**Reached start position**’ to ‘**Move**’ or ‘**Move forward**.’

![Press V for a shortcut into Linking mode!](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FpblQWKeMkix3Lp3SDTnS%2Fezgif.com-gif-maker%20\(72\).gif?alt=media\&token=1d55027e-b2ed-4b8b-8b48-2a744179ccfc)

{% hint style="info" %}
To make the ball seem like it’s actually rolling, you can play with the Rotator component too, but that’s totally optional at this stage!
{% endhint %}

To really raise the stakes, next we’ll do something called **player-linking**; instead of linking our object to another object or to itself, it will interact with the player. The **Player link icon** looks like a little orange person when in Linking mode, so you can’t miss it!

We want to link the obstacle’s event ‘**Started colliding**’ to the player action ‘**Respawn**,’ and selecting ‘**Triggering player**.’ So now if a player collides with the big spiky ball, only the player who touched it will respawn. Ouch 💀

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fg2DRtb2um9MXbkUgiw6N%2Fezgif.com-gif-maker%20\(73\).gif?alt=media\&token=a0262cd4-17f5-48db-b491-23f24eec299a)

{% hint style="info" %}
Optionally, we can trigger the ball moving with pushing the button we set up earlier; when we blow up the door, the ball gets released to come stop you! To do this, create another link from the **button** with ‘**Interacted**’ and connect to the ball with ‘**Move**.’ Just make sure the ball’s Mover component is marked ‘**No**’ on ‘**Auto-start**.’
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FjHOv2OxpQGyycOqrRbu7%2Fezgif.com-gif-maker%20\(74\).gif?alt=media\&token=43bab124-dddf-4848-8301-6511d925d41d)

### Nice obstacle course!&#x20;

Now you can play and change your course as much or as little as you want, and get inspired to create your own very soon. We hope you enjoyed the process. and thanks for following along with this tutorial! ✌️


# Grab Manipulator

### Grab manipulator is primarily used to quickly move around objects in the scene.

<div align="left"><img src="https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FtejzIQfBUqCjQqRyPYLn%2FUntitled.png?alt=media&amp;token=f1e548ab-c86e-4acc-aaa5-a59fe84c885f" alt=""></div>

### How to use

Grab is the default mode selected when you first load into a creation session. Its icon is a little grabby hand in the top tool bar, found just right of the [Asset Browser](/content-browsers/asset-browser).

To use Grab, simply click and drag an entity to the place you want to move it. It allows you to move the object freely; if you need more precise directional control while moving objects, check out the [Transform Manipulator](/tools/transform-manipulator).

{% hint style="info" %}
Moving objects with Grab manipulator functions exactly the same as using the **baseline sphere** with the Transform [Move tool](/tools/transform-manipulator/move).
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FP4rDoHJ21wa9Naz9XLzd%2Fezgif.com-gif-maker%20\(95\).gif?alt=media\&token=828fffa2-ad68-41e7-8589-d8fd41418073)

{% hint style="info" %}
Objects moved with Grab manipulator will collide and snap to nearby voxels in the scene. Objects with flatter surfaces, like walls and floors, are easiest to use this function on. When no snappable voxels are nearby, the selected object will not snap to anything and instead be placed mid air a set distance from camera.
{% endhint %}

![Voxel snapping from the top of one floor level to another](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FB83PMQ1jK1aiK8rA3hQQ%2Fezgif.com-gif-maker%20\(96\).gif?alt=media\&token=d2d56416-4793-4c72-bd83-d6e938a5c575)


# Transform Manipulator

### The Transform manipulator tool allows you more precise control manipulating objects than in Grab mode.

You can access 3 primary subtools from Transform — **Move**, **Rotate** and **Scale** — in order to manipulate any objects. In addition you can toggle between the **Global** or **Local** axis to use while manipulating objects.

![Transform manipulator subtools](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FHk7o6CywunLlAiJG0n2I%2FSka%CC%88rmavbild%202021-12-21%20kl.%2014.04.35.png?alt=media\&token=ffcb61f0-10e6-46e8-a8af-f2366cd25b78)

The Transform manipulator tool is found in the top toolbar. By default, Grab mode is selected when you load up a game; simply click the dropdown arrow beside Grab and select Transform.

## Subtools

* [Move](/tools/transform-manipulator/move)
* [Rotate](/tools/transform-manipulator/rotate)
* [Scale](/tools/transform-manipulator/scale)
* [Global/Local](/tools/transform-manipulator/global-local)


# Move

### **Move** is the default tool when Transform is selected. It is used for more precise placement of objects in the worldspace.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FYnrIEVFaAOQkyr894iF1%2F0_u-Fn4DyqNzW2jpcE.png?alt=media\&token=56cdffa0-f121-4978-831b-7b79f765a3af)

**Move** consists of three arrows which indicate the **xyz** coordinate graph for 3D objects in the world, and a **baseline sphere** located at the object's set pivot point —also known as the exact centre of the object.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F7vpw99ZKXcA99OefDHzA%2Fui.png?alt=media\&token=8b71f5ce-2a02-4e7e-b595-b968095c5677)

## How to use <a href="#id-7f15" id="id-7f15"></a>

To move an object in a certain direction, drag any axis arrow and adjust until perfect by switching between Global and Local modes if you’d like.

* **Global** axis arrows move the object according to the **whole level’s axis.**
* **Local** arrows move according to the rotation and placement of the **object itself**.
* Shortcut to Global by pressing 4, and Local with 5.

To activate **free movement** click and pull on the **baseline sphere** — the white circle in the middle of all the arrows.&#x20;

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FYWAxGKeOYGUdBk9wmqqO%2Fezgif.com-gif-maker%20\(83\).gif?alt=media\&token=f10723bf-74fc-4edc-b85f-a54f4bc66a84)

{% hint style="info" %}
***Tip:*** here, the platform is slightly rotated, so you can tell the Local axis is the one that has arrows parallel to its edges! We recommend learning with square/straight-edged objects like walls, floors and cubes while getting used to the difference between Global and Local!
{% endhint %}


# Rotate

### Rotate is the tool that allows you to rotate objects in the world. Makes sense, right?

![Transform —> Rotate](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FFvpmRpVMaDbZQIpTvfAG%2FSka%CC%88rmavbild%202021-12-21%20kl.%2015.55.30.png?alt=media\&token=23b52ff9-c493-4d91-b610-5dccc8133114)

Rotate consists of three arches that indicate the xyz coordinate graph for 3D objects in the world.

## How to use <a href="#id-67ed" id="id-67ed"></a>

Select the entity you want to rotate and pull on the arch that correlates to the xyz-axis you want to rotate object in. You might need to reposition the camera a little to see which arch rotates where, but this is easy to do.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FxFSZ0tbJbiDgXjlIdwfo%2Fezgif.com-gif-maker%20\(84\).gif?alt=media\&token=d5af807b-8de6-423f-8f76-170aa7ad9b56)

If you want lots of objects to be rotated to the same degree, you can select them all by holding CTRL and clicking each one, then heading to rotate mode. You can do the same for Move, too!

![Multi-select using Ctrl — it’s a carousel of cats!](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FvMDmS3hkH4qxhNUVtnrv%2Fezgif.com-gif-maker%20\(85\).gif?alt=media\&token=7f9e6888-9742-4055-a0a6-ec16d1f1471a)


# Scale

### **Scale** is the tool that allows you to manipulate the size of objects in the world.

![Transform manipulator —> Scale tool focused](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FigAUY8TPO1Kno8j8QJjm%2FSka%CC%88rmavbild%202021-12-21%20kl.%2015.55.44.png?alt=media\&token=b743a3a3-cc68-47b9-9afb-bf8d11bd27d1)

**Scale** consists of three “pistons on rods” that indicate the xyz coordinate graph for 3D objects in the world, and angle brackets between each pair of rods. There is also a **baseline cube** located at objects set pivot point.

## How to use <a href="#id-9ef3" id="id-9ef3"></a>

Select the entity you want to scale and pull the “rod” attached to the plane that correlates to the xyz-axis you want to scale the object in. You can make any object larger or smaller this way.

* Pulling on a “rod” scales objects on one axis only.
* Pulling the “angled brackets” scales objects along two axes.
* Pulling the baseline cube scales objects bigger or smaller in all directions.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fciy85MLlXj7Pylcw0rO2%2Fezgif.com-gif-maker%20\(86\).gif?alt=media\&token=3b7c2c0b-2d18-415e-a904-aba9541ccc8d)

{% hint style="info" %}
***Tip:*** we recommend not scaling very large objects into very small ones, as the game can have difficulty rendering them when they become super compressed — this can lead to dropped framerates, which nobody wants!
{% endhint %}


# Global/Local

#### Global axis

Manipulate entities according to the xyz coordinates from the axis the world itself operates on. Just like planet Earth, the game has a global - or default - set of axes. When you first place an asset and click on its Transform component, you will see its rotation is set to 0 - this means it is perfectly placed to the Global axis.

#### Local axis

Manipulate entities according to the placement and rotation of the entity itself. Easiest to see on flat-edged objects, like walls and floors.

If an object is rotated 23 degrees from the global axis, its global xyz arrows will appear at odd angles, but local axis arrows will remain parallel to the object's edges.

![Transform manipulator —> Use local axis](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FWRBXkxRWH1GrGrGBTXeW%2FSka%CC%88rmavbild%202021-12-21%20kl.%2015.54.41.png?alt=media\&token=b96e13ff-6e50-4c02-acf6-0a57c529d2dd)


# Linking

### Linking is what allows you to create game logic in Mutate - also known as mechanics.

**Linking** works by connecting interactions between objects that have special components. Think of components as special abilities you assign to an object - like the ability for a spinning blade to move up and down for players to time running through and avoid getting sliced, or the ability for a button to trigger an explosion at a certain time. The possibilities are endless - you just have to be a little creative 👀

#### Linking is basically the game's thought process: ***when X happens, I respond with Y**.*

You can open Linking mode by pressing the bendy line icon in the top toolbar, or by pressing V. This will make 3 more subtools appear in the centre of the toolbar.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FoXVGZmxVERLRrkttvXFc%2Fho.png?alt=media\&token=eb924313-58d9-4669-be83-349d11c6e847)

### Things you can link:

#### Components (components tied to objects)

* [Entity Components](/tools/linking/entity-components)

#### Special Components (components tied to the game's general behaviour)

The 3 subtools facilitate working with special components:

* [Player Components](/tools/linking/player-components)
* [Game Components](/tools/linking/game-components) (Mechanics)
* [Environment Components](/tools/linking/environment-components)


# Components, Actions & Events

## Welcome to the world of components!

Components are special actions you can add to any object in the game in order to create logic, or mechanics, using Linking.

When it comes to linking, each component has a set of unique instructions referred to as "Actions & Events."

* "**Actions**" are what need to happen to trigger an event - interacting with an item; entering a certain area; after 5 seconds has passed, etc.
* “**Events**" are what happens in response to the action - the player has entered, so the door locks; 5 seconds have passed, so now the object will start moving over here, etc.

These are what make up the game's "if X happens, I do Y."&#x20;

Easy, right?

In Linking Mode, any object that has a component will have a little orange square hovering at its centre. When you click on the square, it will expand and highlight the whole entity - this is especially useful if an entity is hidden inside another entity, like spikes hidden underground before they are activated to shoot up and trap an unwary player.

![Only the objects with components](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FgvOsRQymaJjsFOEb9PWf%2Fad.png?alt=media\&token=8d80dbaf-45ee-4816-83a8-dd858b36b112)

When the orange square expands, there will be a little **+** on its right hand side. To begin a new link, click it and a list of all the possible Actions this object can perform (based on what components it has attached) will appear.&#x20;

Select whatever Action you want to be the triggering factor, and now a little spaghetti noodle should be attached to your mouse. You can now drag this onto any other orange box, OR back onto the original object (by clicking the little round arrow on the top right corner of the selection box) to create a *self-link* 🔄

![A self-link /// A link to another entity](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fd1TA0SZSBgZlMgQMQnIX%2FSAD.png?alt=media\&token=ac2efff1-4f8b-45e2-a3e8-1649179c84fe)

Complete the link by selecting the Event. The line should now go rigid and have a little red circle in the middle of it. Clicking this will open a drop-down of all the links between these two objects. Clicking one of these in the drop-down will delete the link you just clicked. An object with a self-link will have the red circle appear within the orange box.

![Completed self-link and link to a Player Component](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FU06ZtYOPMAGvrsrIkkXy%2Fi.png?alt=media\&token=49145e54-aba9-43ea-8c7b-57d4a8e00ef8)

Links can also be made from entities onto [Player](/tools/linking/player-components) and [Game Components](/tools/linking/game-components), for actions you want to affect more than just the worldspace, like losing health or respawning.

Eventually, your links may look something like this...

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fn26CRbQGnCDj67EHjdsP%2FLINKING.png?alt=media\&token=995a17b3-8c84-4496-9626-598811df77d2)

Each component has a set list of Actions and Events they are both capable of, but these can be mixed around and played with for all kinds of different results.&#x20;

For example, a Mover component's set list of Actions and Events are:

**ACTIONS**

* Stopped moving
* Started moving
* Reached start position
* Reached end position

**EVENTS**

* Move
* Stop moving
* Move forward
* Move backward
* Teleport to start position
* Teleport to end position
* Toggle start/stop moving


# Entity Components

### Entity components are special abilities for objects in the worldspace.&#x20;

Make a car move, make a tree invisible, make a button interactable. Any object can have any number of components, and any number of links, to make builds as simple or as advanced as you wish.

{% hint style="info" %}
Entity Components are our typical "normal" components, usually referred to as simply "components."
{% endhint %}

To create a link between any object or entity, it must first have a component added. To add a component, simply select the desired object and you will see its voxels become highlighted in a different colour.&#x20;

You'll also see a little menu has appeared in the top right of the screen, just below 'Play.' Click the **+** next to 'Components' and a drop-down of all the Entity Components will appear.

![Voxel highlight and component adding](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FwGYK7RuRVheOhiPWkO0t%2Fezgif.com-gif-maker%20\(99\).gif?alt=media\&token=86b26000-acd0-4390-88a3-a37853a36c90)

Find whatever component you want to add, and press the **+** beside it to assign it to the object. Now you can access and change whatever settings for your component(s) any time you click on that object from the menu that appears.

{% hint style="info" %}
Some components don’t need links at all to make them work the way you want, but others do in order to get that little bit more control and detail. E.g.: making an object a Light Source can be a plug-and-go situation, whereas a Trigger Zone needs a link to have something actually... trigger.\
\
If you combine the two, why not make a Trigger Zone that turns off the Light Source when the player enters the zone? Perfect for a spooky level, if you were making one!
{% endhint %}

![Trigger Zone Entered > Disable Light](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FsHhMTIYIkCi5x1uWaPdq%2Fezgif.com-gif-maker%20\(100\).gif?alt=media\&token=35c3b4cb-f125-47f6-bab7-b212b75e0261)

{% hint style="info" %}
***Individual tutorials on each Entity Component in detail coming soon!***
{% endhint %}


# Player Components

### Player components allow you to add logic to create some player interactions - and some stakes!&#x20;

Here, you can configure universal settings for the players of your game, such as the default running speed, levels of gravity, if you can double-jump or not, or things like health or score counters as central mechanics to levels like shooters or treasure hunts.

You can also use Player Components in conjunction with Entity Components to make these universal settings matter. E.g.: if a player enters this area, their health drops; if a player interacts with this object, they gain the ability to run faster or double jump, etc.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F7njsn2wlWRRpC5XLHe1r%2FSlice%20linking%20subtools%20player.jpg?alt=media\&token=37dfc4ae-4032-4025-9fc9-28cc2582aa72)

### Example: Collectibles

Open up the Player Components tab, press **+** to reveal more options, and select ‘**Score**.’

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FGueDbt04r86KJAkanK6L%2Fezgif.com-gif-maker%20\(46\).gif?alt=media\&token=0d3dfcae-61fa-4d78-bcdd-c25591bc1c31)

Select any entity and add the **‘Interact’** component to it. You can also change the text that appears when the player hovers over the item in-game, so for collectibles it’s best just to put ‘Collect.’

Now create a link from the collectible; select ‘**Interacted**’ and link to the **Player Components** icon. Complete the link with ‘**Gain Score**,’ filtering so only the player that interacted gets points.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F2NFOhB4FZIynt1935Vz9%2Fezgif.com-gif-maker%20\(47\).gif?alt=media\&token=9a4738a5-9198-4ce8-b356-3b0572cd0cb8)

{% hint style="info" %}
If a Player link has already been created, an orange box will appear beneath the icon just like on entities - you can see this is the case below! The same is true for [Game Components.](/tools/linking/game-components)
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FSKy14329R8fw3trHgt3P%2Fezgif.com-gif-maker%20\(48\).gif?alt=media\&token=8d7ab188-e6c3-47fb-a488-5484d5488aab)

{% hint style="info" %}
***Tip:*** By default, points go up by 100 whenever you collect something, so make sure your final score is large enough to accommodate this!
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FbPIbtVApLr0orOduOPOI%2Fezgif.com-gif-maker%20\(49\).gif?alt=media\&token=794d4f91-1812-4ab4-9fdd-bbea0911d008)

To make this game really feel like a competition, in the Score tab of the Player Components menu select ‘**Yes**’ for ‘**Win by reaching**.’ Now it’s a race to see who can collect the most first!

{% hint style="info" %}
As with Entity Components, some Player Components can function on their own whereas others require added linking to start working.
{% endhint %}


# Game Components

Also referred as Game Mechanics

### Game Components allow you to set core mechanics that shape the overall level.

There range from end-game conditions, to setting music background for the whole game, defining scoreboard mechanics and assigning team dynamics. As they're relatively straight-forward, Game Components are mostly a 'one and done' process.&#x20;

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FaOUYjPWqha3ExOFUvhqo%2FSlice%20linking%20subtools%20game.jpg?alt=media\&token=c9235f86-5975-468a-b9ec-e574e1810709)

Most Links made to or from the Game Components icon will be to end the game after a certain Action - like entering a certain area, losing all health, or maxing out score - or trigger Events from the start of the game.

### Example: Victory Zone

Assign the Trigger Zone component to an entity and create a link from the entity to the **Player Components** icon: **Trigger Zone Entered > Won > Triggering Player**

Next, a link from the Player icon to the Game icon: **Won > End Game**


# Environment Components

### A means to play around with the ambience and environment of the worldspace.

Change the position of the sun and moon, set the path and size of clouds and stars, the colour of the sky, the height and motion of the water - or just removing the water completely! - and set up some fog or post-processing for cool moods and effects. It's basically the Photoshop of Mutate, and exists to make your game prettier! ✨

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FcqZ3NqUSZzBC5O9d5Gvr%2FSlice%20linking%20subtools%20environment.jpg?alt=media\&token=8ef07968-cf53-4e02-8346-d214d8a79331)

No links can be made to or from the Environment tab, but if you want different vibes for different areas you can add the Post-Process Zone component to any entity and choose its brightness, hue, contrast, and range for large or small areas of change.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FRirqdNlRT9siK5d3Q46j%2Fezgif.com-gif-maker%20-%202022-03-09T134149.202.gif?alt=media\&token=8b16a569-d2b0-4c89-8486-15492e2168bf)

{% hint style="info" %}
Play around with environment settings as long as you like. There's no wrong answer here. Only you get to decide the atmosphere of your game!
{% endhint %}


# Asset Browser

### The core of your game will be created from assets found in the asset browser.&#x20;

Combining and arranging assets together will help you create both unique and stunning scenery and challenging levels for your game.&#x20;

<div align="center"><img src="https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F8N4Hsb3WMEhOyFhN2Go0%2FAsset%20browser.jpg?alt=media&amp;token=9da0af5b-5a5c-4227-8d6b-ded114ec89e1" alt=""></div>

### Placement

Access the asset browser in the top left corner of the toolbox - or by pressing B for a shortcut.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F7YIda08uktuEDBxvFfsy%2Fezgif.com-gif-maker%20\(92\).gif?alt=media\&token=593a2270-4b39-48cd-bd1f-9c1a71b59d88)

### How to use

Search and browse through assets in the asset browser. You can either scroll through manually with the mouse wheel, or type in the search bar. Most assets will have easily searchable names, like 'wall' or 'stone' or 'sofa,' so there's plenty of ways to speed up searching.

When you find the asset you look for, simply click and drag it into the scene. You can also just click the asset and it will add, but it's easier to drag so you can determine where it appears onscreen.

{% hint style="info" %}
Type in keywords to look for specific asset collections, like #castlemania for all the cool medieval assets, or #furniture for household objects, etc. Just don't forget to use # before typing in a word to filter assets using tags.&#x20;
{% endhint %}

![Searching for asset pack tags](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fs2OPIMADBLtz9kJr08NM%2Fezgif.com-gif-maker%20\(94\).gif?alt=media\&token=668704f1-49b9-4238-967f-6af59778684c)

{% hint style="info" %}
To save on searching for the same assets, or duplicating ones already in the worldspace, go to the dropdown on the top left of the asset browser, just below the search bar, and select 'Used.' The browser will now only show assets you have already used!
{% endhint %}

![Narrowing down to Used assets only](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FP6e8wKFRvyQfamFHvfqN%2Fezgif.com-gif-maker%20\(91\).gif?alt=media\&token=96f9bd6b-a65b-49de-923b-1f6b82193182)


# Material Browser

### Change or add materials to different surfaces in the game for a more unique and interesting environment.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FXZoOhXJW7gdIypLix0SN%2Fezgif.com-gif-maker%20\(97\).gif?alt=media\&token=61eefcd7-73e6-4769-9d31-3fa11c62497c)

### How to use

To change the material click on the asset you want to use, and go to the materials browser on the the **entity components toolbar**. This appears in the top right of the screen any time you click any entity. The materials browser looks like a pencil hovering over a little drawing.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FSLC5hsKe7xdPYkoUwYBd%2Ff.png?alt=media\&token=bc179f2c-0a81-4ed1-89d8-6dce0f1f26aa)

Some objects only have one material slot, while others have multiple. Simply click each slot in turn and select from the available materials to assign it to change the colour and texture of that specific area.

Like the asset browser, you can speed up searches by typing specific texture types like 'wood' or 'metal,' or colours to bring up all the red materials, for instance, in different textures.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FCaV8r3P2ht6yCpfJXvt9%2Fezgif.com-gif-maker%20\(98\).gif?alt=media\&token=997fab76-8bf7-49db-970b-6a7f2cc89b4c)

All materials are available for all entities - so you can stick with realistic textures for your world, or something completely stylised, like a world of robot metal cats. It's all up to you!


# Components - a closer look

Let's get comprehensive!

Here, we'll guide you through the "what, how and why" of each individual component in much more detail. They can take a little trial and error to understand, and that's okay - some seem self-explanatory, while others seem super complex, but with any luck these tutorials and use-cases can help you on your way to using them with confidence!

As always, if you're having trouble or want to ask questions that these tutorials don't seem to answer, you can reach out to our dev team via **#get-help** the [Discord server](https://discord.gg/gkG3GsP8).

### Now, you ready to get started? 👀


# Entity Components

We'll begin with a comprehensive look over every entity component first, as these are the ones you'll be using most often, so it's good to get a strong understanding sooner rather than later!

**There are 22 total entity components:**

1. [Mover](/component-tutorials/components-a-closer-look/entity-components/mover)
2. [Rotator](/component-tutorials/components-a-closer-look/entity-components/rotator)
3. [Collider](/component-tutorials/components-a-closer-look/entity-components/collider)
4. [Collision Toggler](/component-tutorials/components-a-closer-look/entity-components/collision-toggler)
5. [Interact](/component-tutorials/components-a-closer-look/entity-components/interact)
6. [Hider](/component-tutorials/components-a-closer-look/entity-components/hider)
7. [Timer](/component-tutorials/components-a-closer-look/entity-components/timer)
8. [Light Source](/component-tutorials/components-a-closer-look/entity-components/light-source)
9. [Spawn Point](/component-tutorials/components-a-closer-look/entity-components/spawn-point)
10. [Trigger Zone](/component-tutorials/components-a-closer-look/entity-components/trigger-zone)
11. [Force Zone](/component-tutorials/components-a-closer-look/entity-components/force-zone)
12. [Exclusive Zone](/component-tutorials/components-a-closer-look/entity-components/exclusive-zone)
13. [Post-Process Zone](/component-tutorials/components-a-closer-look/entity-components/post-process-zone)
14. [Sound](/component-tutorials/components-a-closer-look/entity-components/sound)
15. [Die roller](/component-tutorials/components-a-closer-look/entity-components/die-roller)
16. [Destruction](/component-tutorials/components-a-closer-look/entity-components/destruction)
17. [Shootable](/component-tutorials/components-a-closer-look/entity-components/shootable)
18. [Broadcaster](/component-tutorials/components-a-closer-look/entity-components/broadcaster)
19. Counter
20. Health
21. Cinema
22. Sphere Collider

### Tips before getting started

* Components where you can input values can either be changed by typing directly into the value boxes and pressing Enter **or** by clicking through the up and down arrows that appear when you hover over them.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F35qPhV3cFb1Tn28gcmfm%2Fezgif.com-gif-maker%20-%202022-03-16T142851.711.gif?alt=media\&token=45deeed3-26cc-4565-ae4a-a8d3852a7db9)

* By default, clicking the arrows will lower or raise a value by 1. When typing, you can input values as low as 0.01 for maximum precision.
  * Some component settings only accept as low as 0.1, so just play around until you know which does what :)<br>
* Some components can be tested at any time during create mode by pressing the play button on the top right of the object's component menu ▶️


# Mover

is an Entity Component

Mover is one of the most commonly used entity components, and can be made to do all kinds of things. It allows an object to move in a straight line, in any direction on any axis, and at any speed.

The distance, speed and direction of a Mover object can be tested at any time during create mode by pressing the play button on the top right of the object's component menu ▶️

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FDK087BkPU5FswJXyhpmT%2FMover.png?alt=media\&token=a7297696-2ef4-4e4a-ae8a-cb0d835c55c9)

* **End position** - dictates where you want your object to end its journey.&#x20;
  * Measured by meters.
    * Hover over the x/y/z axis letters to reveal arrows to set distance and direction, or simply type directly numbers into the value box.
    * Depending on the placement and rotation of the object, this can take some trial and error, but once you know which way you're pointed, it's easy!
    * By default, the X axis value is set to 1.<br>
* **Speed** - dictates how fast or slow the object will move.&#x20;
  * Measured by meters per second
  * i.e. an object with a 10m end position will take 10 seconds to reach it at speed 1, and only 5 seconds at speed 2.<br>
* **Auto-start** - dictates whether or not the object begins its journey from the start of the game.
  * "Yes" means the object will automatically be moving.
  * "No" means the object requires a linking event to trigger its movement.<br>
* **Yo-yo** - dictates where or not the object will move back and forth between its start and end position.
  * "Yes" means the object will automatically travel back and forth once its journey is complete in either direction.
  * "No" means the object will only travel once in one direction, and stop at its end position, unless told otherwise by a linking event.<br>
* **Start position (%)** - dictates at what point in the object's journey it begins moving.
  * 0% means it will move exactly from its current position in the world to its end position
  * 50% means its current position in the world is now half-way between where the set journey starts and ends.

![0% start position VS 50% start position](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FcwpPVdYDbE53WmgLbAAF%2Fezgif.com-gif-maker%20-%202022-03-15T132423.647.gif?alt=media\&token=9760b313-53bd-4e3f-bb48-2035a94e5a4e)

### Common uses

* [Elevator](/component-tutorials/components-a-closer-look/entity-components/mover/elevators)
* Bridges and platforms (seen above)
* Push traps - spikes coming out of the ground, battering rams, etc.
* Secret doors/moving walls - push a button, and the wall descends into the ground!
* Decoration and ambience - cars, animals, rain, etc.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FXARGRhVXeb6mGs9STL5w%2Fezgif.com-gif-maker%20-%202022-03-15T133611.373.gif?alt=media\&token=2dcbce47-f241-49f0-8e47-a2a9eb5dd8af) ![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F3cX6LwQE5FyvDCJP0hsk%2Fezgif.com-gif-maker%20-%202022-03-15T133402.256.gif?alt=media\&token=1cdaf2b6-20b6-42c6-8e9f-fe5ad0a1dd9e)

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F3JjNC2bFVdWbe9h0H39H%2Fezgif.com-gif-maker%20-%202022-03-15T134100.207.gif?alt=media\&token=41814954-ec64-4a1f-992f-ce536be67a76)


# Elevators

The most basic of player-activated Movers.

Any object with a yo-yo mover can be an elevator. The only draw-back is you have to wait for it to come and pick you up - which is annoyingly just like a real elevator, but not what you want in a game that might have a timer on it, or you're being chased down in a shooter and you need somewhere to hide...

There are two common ways of activating an elevator-style mover; **contact** and **interaction**. To create either one requires just a little bit of linking, but that's nothing we can't handle.

{% hint style="info" %}
Make sure for **any player-activated mover** to set '**Yo-yo**' to '**No**' in component settings. That way, you have lots more control over exactly how your sequences will act!
{% endhint %}

To create a simple **contact elevator**, your entity needs the **Collider** component. This is a component to track whether or not the player is physically touching an entity.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fxf76XhMyqpOBOVMc55hq%2Fezgif.com-gif-maker%20-%202022-03-15T135850.783.gif?alt=media\&token=0423e312-3be1-4ee7-844b-bca535a6b627)

The only Collider settings we need to make sure are selected are Trigger Settings "Enabled > Yes" and Detect "Players > Yes." This will mean the Collider is automatically enabled, and will only be activated when players collide with it.

Now go to [**Linking Mode**](/tools/linking), and create a [self-link](/tools/linking/components-actions-and-events) from the elevator object with the sequence:

* *Started colliding > Move forward*

Now, when the object detects the player is standing on it, it will move!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FGMsyMxBP6DpU0lE43jfc%2Fezgif.com-gif-maker%20-%202022-03-15T140258.346.gif?alt=media\&token=933aff65-433a-442c-b4a8-c5f17e4b5c54)

{% hint style="info" %}
Note that 'Move' and 'Move Forward/Backward' act in different ways.

**Move Forward** makes the entity move toward the end position, as dictated by the component settings, whereas **Move Backward** makes the entity move toward the start position.

**Move** can act in both ways, more like a toggler for the direction, so is a little more unpredictable. When making something as simple as an elevator, we recommend only starting with Move Forward & Backward in your links.
{% endhint %}

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FTCWRCz6I0JIO6e7Gm16j%2Fezgif.com-gif-maker%20-%202022-03-15T140924.787.gif?alt=media\&token=204d813a-2af1-4464-b641-59a2bc5a1b25)

But now how do we get down? Let's make an **interactable elevator**!

Simply place an object within reach of the elevator - we chose a talking cat, because it just seemed the right thing to do - and give it the **Interact** component. Play around with the display text, to make it fit with what you want the command to be.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FgRh7dZoc2xmOJLQM9oPR%2Fezgif.com-gif-maker%20-%202022-03-15T142144.557.gif?alt=media\&token=d4932ef2-1ff2-4572-8c29-dd02e5c772ad)

Next, create a link from the new interaction object to the elevator object with the sequence:

* *Interacted > Move backward*\
  or
* *Interacted > Move*
  * Because this object is only accessible to players who have already reached the elevator's end position, selecting either of these will work perfectly well!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FpvTedstQ7hc3stFu7V2I%2Fezgif.com-gif-maker%20-%202022-03-15T142537.510.gif?alt=media\&token=2f8afdae-e925-4fb3-ad01-90747529cc2a)

And now you know two ways to make an elevator, which hopefully should inspire you to think of new ways to use these easy links to make different kinds of creation!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FkGpAjqgNTkOyGTLFQIxO%2Fezgif.com-gif-maker%20-%202022-03-15T142410.125.gif?alt=media\&token=a12be3f1-c69e-4708-b5c3-dea993efb3d0)


# Rotator

is an Entity Component

Rotator allows an object to spin on any axis, to any degree, and at any speed. These can all be tested at any time during create mode by pressing the play button on the top right of the object's component menu ▶️

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FIOdEiMkDkim280D29Ed8%2FRotator.png?alt=media\&token=df678a14-9973-401e-bff9-322c4a3e5d0d)

* **Pivot position** - dictates around what central point the object will rotate on the xyz axis
  * Think of the pivot position as the object's centre of gravity.
  * By default, each value is set to 0, meaning the object will only spin in place. This is useful for traps like spinning blades or fans.

![Changing the pivot point](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FnlPQNfHNnDpy2lTvdlQJ%2Fezgif.com-gif-maker%20-%202022-03-15T151323.298.gif?alt=media\&token=73e96a5c-b0e6-4723-ad71-5357a2d24d6b)

* **Rotation axis** - dictates the direction(s) in which an object will rotate<br>
* **Rotation (degrees)** - dictates how far the object rotates.
  * Can be anywhere from -360 to 360 degrees.
    * Figures below 0 will rotate the object one way, while figures above 0 will rotate the object the other way.<br>
* **Speed** - dictates how fast the object rotates.<br>
* **Auto-start** - dictates whether or not the object begins rotating from the start of the game.<br>
* **Yo-yo** - dictates whether or not the object rotates back and forth once reaching its final degree of rotation<br>
* **Loop** - dictates whether or not the object will rotate constantly on a loop
  * This is best for objects you want to keep spinning until told otherwise. Even if an object's rotation is set to 360 degrees, it will stop rotating after one turn. Select "Yes" to loop to keep it going.

!["Everything the light touches... has a Rotator on it, Simba."](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2Fp81cFSif0a96VRZRQ5aG%2Fezgif.com-gif-maker%20-%202022-03-15T155152.112.gif?alt=media\&token=82cc0ec3-ac27-4df0-b9ef-57f9d137d4c6)

### Common uses

* Spinning blades and other traps
* Fans
* Vehicles
* Doors and drawbridges - swinging on hinges
* Collectibles and hearts - make them stand out!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FDEegEbWCXRm7EDg2Zc8e%2Fezgif.com-gif-maker%20-%202022-03-15T160307.609.gif?alt=media\&token=16f5e668-2104-427a-b057-fb1a1be26b83) ![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FQVy97hRJXJfqXSGbBxbW%2Fezgif.com-gif-maker%20-%202022-03-15T160215.719.gif?alt=media\&token=41fbcf1b-0bbc-417b-b758-99ab7d830099)


# Collider

is an Entity Component

Collider works by tracking whether or not anything is currently touching the object. It can track both players and other entities.&#x20;

Collider is a super diverse component, but very easy to use. It's one that will create links that operate 'behind the scenes' to create logic, and is less visually obvious than, say, Mover or Rotator.

It is different to [**Collision Toggler**](/component-tutorials/components-a-closer-look/entity-components/collision-toggler)**.**

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FhmzKrCcUshoiSDrNE8EA%2FCollider.png?alt=media\&token=29e8867a-f89a-4954-a86c-1c0885fe57ea)

* **Enabled** - dictates whether or not the object is tracking for contact/collision<br>
* **Trigger on every instance** - dictates whether or not it tracks every single time it is touched, or just once<br>
* **Detect Players** - dictates whether or not it will respond to being touched by a player<br>
* **Detect Voxels** - dictates whether or not it will respond to being touched by another entity

### Common uses

* Activator for events - when a player touches the object, a door can open; when they stop touching it, a wall explodes, etc. etc.
* Destruction - when two entities collide, they blow up on contact


# Collision Toggler

is an Entity Component

Collision Toggler is a super useful component for creating decoration and ambience, as well as all sorts of puzzles and traps. It dictates whether or not an object is solid (or has collision) or you can walk through it without being obstruction (has no collision).

It is most often used with [**Hider**](/component-tutorials/components-a-closer-look/entity-components/hider)**,** as objects that have been made 'invisible' or 'hidden' in the game will still have collision. The toggler is used whenever you want an object to really seem like it has vanished - otherwise players will be obstructed by something they can't see, and it won't feel as fluid to play.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F2161gGENtMUQm73W7EKr%2FCollision%20Toggler.png?alt=media\&token=249393da-d9f5-4ad7-9b9c-b395c660d6d0)

* **Obstruct players** - dictates whether or not the object has collision barriers
  * "Yes" means it is solid, and the player will be obstructed by it
  * "No" means a player can just run through it<br>
* **Detectable by triggers** - disables or enables the object to be detectable by other colliders/trigger zones etc.

### Common uses

* Totally disappearing 'hidden' objects
* Baiting traps - making floors that seem safe, but aren't, plunging players to their deaths!
* Secret doors - a wall you can walk through, even if it looks solid
* Decoration - grass and bushes you can run through, instead of having to walk on top of or get stuck by


# Interact

is an Entity Component

Interact is another highly useful and diverse component, and perhaps the most self-explanatory. Like Collider, it can be used to make any number of things happen by having players interact with an object.

To interact with an object in play mode, hover over the interactable and press F. Text will appear over it to indicate what kind of interaction you can fulfil.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FbE4vkrbdXKvWaH2s8QGD%2FInteract.png?alt=media\&token=133f611e-777d-40ad-bc23-7ae686ac1ec2)

* **Text** - what appears as the command when players hover over the object. Can be whatever you want, according to what the desired outcome will be.
  * E.g. for a lever that links to an exploding door, you can put 'Pull lever' or 'Detonate' or 'Boom!' or just leave it as 'Interact' to keep some mystery...<br>
* **Highlight voxels** - choose whether or not the interactable object will turn a different colour when the player hovers over it, to show you can interact with it<br>
* **Enable interactions** - dictates whether or not an object can be interacted with from the start of the game, or if it requires an event to unlock interactions first.
  * The equivalent of "Auto-start" for Mover or Rotator.

### Common uses

* Event trigger - I pull a lever, a door opens; I pet a cat, it meows; I pick up an object, it disappears, etc.
* An 'everyone's ready' - begin the events of a game after everyone has loaded in to a loading zone, by pulling a lever to respawn everyone into the actual game-world
* Almost anything ;)


# Hider

is an Entity Component

Hider is one of the most used components, and pairs really well with Collider, Interact and Timer to create some awesome results. It dictates whether or not an entity is visible to the player. That's it!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FaPFn0tMmiVNoxdwpL24h%2FHider.png?alt=media\&token=46f82162-2997-4835-bbe4-1d0f1979482c)

* **Visible** - is the object visible or not?

Hidden objects (or objects that have "No" selected) will still be visible during create mode, so you never lose where you put them. They'll disappear as soon as you enter play mode.

### Common uses

* [Treasure hunts](/guides/creating-game-logic-in-mutate) and collectibles - once a collectible is interacted with, it disappears, so nobody else can get it!
* Puzzles - think of the Squid Game glass, and you'll get an idea ;)
* Invisible walls - keep players in a certain area by building high walls and hiding them
  * The collision stays on unless the [Toggler ](/component-tutorials/components-a-closer-look/entity-components/collision-toggler)is applied, so you've just built an arena to avoid sneaky players finding exploits and cheats!


# Timer

is an Entity Component

Timer acts as a countdown to events happening, and is another 'behind the scenes' type of component. It can be really helpful in creating increased difficulty in obstacle courses or a battle royale, for instance; every 20 seconds a new trap appears, and you have to dodge an increasing number of things that want to kill you!

It can also just help provide a nice sense of pace or suspense to your game: you're being chased down by an angry monster, but the door takes 3 seconds to unlock - will you make it in time?

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FhNdqnXY3ctSCdvX1bhAM%2FTimer.png?alt=media\&token=51136171-91b8-4c11-aca7-046ce09194c2)

* **Time** - how long the countdown lasts<br>
* **Loop** - does the countdown restart immediately after reaching 0, or does it need linking to be reset?<br>
* **Auto-start** - does the countdown start from the beginning of the game?

### Common uses

* [Item respawn](/guides/creating-game-logic-in-mutate/item-respawn)
* Traps - platforms only appear for a short time, meaning you have to time your jumps right!
* Variety and pacing of events


# Light Source

is an Entity Component

Light sources breathe life and light into your levels. Particularly useful for creating ambience and cool visual effects in all kinds of ways.

Adding a light source to a component will create a glow from its centre-point, which may require playing around with its position to angle it exactly where you want for the full effect.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FSNATMFnNzyXuH8qMnwcb%2FLight%20Source.png?alt=media\&token=e762a9c1-1e62-4301-9a4b-0ffe5f07ce92)

* **Enabled** - is the light on or off?
  * Can be toggled using linking to create immersive lighting; when you leave a room, the light turns off; when you interact with a light-switch, the light turns on<br>
* **Glare** - a tiny white dot to show the exact centre of the light, much like the white part of a flame
  * "Yes" will show the white dot
  * "No" will hide it, but will not affect the light source in any other way. This is the recommended setting if the light source is angled more than a certain distance away from the object itself, so there's no weird floating dots hanging about<br>
* **Cast shadow** - does the light cast a shadow, or is everything in its range given a matte glow?<br>
* **Self shadow** - does the object itself have shadows according to its shape, or just the objects nearby?<br>
* **Intensity** - dictates the size and brightness of the glow
  * Greater intensity will have a larger range of light
  * Lower intensity will have a more intimate light, perfect for candles and small details<br>
* **Hue** - dictates the colour of the light, great for creating stylised effects like toxic waste, magic energy, or space-age machinery<br>
* **Saturation** - dictates the intensity of the hue, from pure white to pure colour<br>
* **Position** - dictates where the light shines in relation to the object itself<br>
* **Flickering enabled** - does the light flicker or not?
  * Flickering is ideal for firelight or creepy dystopian effects<br>
* **Flicker intensity** - how big/noticeable are the flickers?<br>
* **Flicker frequency** - how often does the light flicker?


# Spawn Point

is an Entity Component

Spawn points dictate where players load in, both at the start of the game and at checkpoints throughout. It's important to have at least one in every level so you can control where the game really begins, otherwise the engine will spawn them somewhere totally random, and that's not ideal.

We recommend placing spawn points on larger, flat entities, like landmasses, and in wide open spaces - so if loads of players spawn at the same time, there's plenty of room to do so.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F5GRwD4NyrT4Gbk1aZOYr%2FSpawn%20Point.png?alt=media\&token=2955cca3-ef9b-4ec2-9574-50d3dc33459a)

* **Spawn here at start** - sets the entity as the initial load-in point for all players in the level
  * At least one *must* say "Yes" here, to avoid the random spawn happening<br>
* **Useable by Team A** - for checkpointing; if Teams are assigned in [Game Components](/tools/linking/game-components), dictates whether Team A may respawn here or not
* **Useable by Team B** - for checkpointing; if Teams are assigned in Game Components, dictates whether Team B may respawn here or not<br>
* **Spawn direction** - dictates which direction players will be facing when they load in


# Trigger Zone

is an Entity Component

Trigger Zones act very similarly to [**Colliders**](/component-tutorials/components-a-closer-look/entity-components/collider), in that they track whether something has made contact with them. However, Colliders are generally more precise: while a player or entity has to physically touch the Collider object itself, a Trigger Zone has a much larger surface area that it can track movement in.

A very basic example is a danger zone: a player can avoid touching a Collider and not set off any traps, but if a player enters a Trigger Zone, as long as they are inside its range, the traps will be going off or damaging their health.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FpEmVWXBJ178pT0FJPYMM%2FTrigger%20Zone.png?alt=media\&token=a3d806e8-027b-44cc-9ffc-09190aa33951)

* **Enabled** - is the Trigger Zone trying to detect players or other objects?<br>
* **Trigger on every instance** - does it activate a link every time the zone is entered, or only once?<br>
* **Size** - dictates the range of the zone
  * Can be as long, thin, wide, tall, shallow as you need it to be<br>
* **Position** - dictates where the zone lies in relation to the entity it is assigned
  * Some trigger zones can be directly centred around an object
  * Others can be way away from the object it's attached to<br>
* **Rotation** - dictates the angle at which the zone lies<br>
* **Detect players** - does the zone activate when a player enters/exits it?<br>
* **Detect voxels** - does the zone activate when another entity enters/exits it?

### Common uses

* Safe/danger zones - in here, you can't take damage (or take lots of damage)
* Saving checkpoints - once a player has entered this area, it can be saved as a new checkpoint for respawning with a [Spawn Point](/component-tutorials/components-a-closer-look/entity-components/spawn-point) attached
* Event activators - once a player has entered, it triggers a link for something new to happen


# Force Zone

is an Entity Component

Force Zones are a bit of a tricky one to get right, and require a fair amount of trial, error, and playtesting. Thankfully, they're a component you can test within create mode.

They're essentially the levitation pads of Mutate, and can act to either float you gently above the ground or absolutely launch you into space. They're useful for creating obstacles like giant fans that propel you over gaps on a roof, or climbing ladders you can't automatically interact with.

Similar to a [**Trigger Zone**](/component-tutorials/components-a-closer-look/entity-components/trigger-zone), once the player enters a Force Zone, the game reacts to their presence accordingly.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F2lWcwELrgiaHmd01QEZ6%2FForce%20Zone.png?alt=media\&token=966ef8cc-1a3f-4395-8c63-a3c29e37c475)

* **Enabled** - is the force zone activated or not?<br>
* **Size** - dictates the span of the zone
  * Where the zone ends is where you will finish being pushed, so make sure it's high or wide enough to get you where you need to do<br>
* **Position** - dictates where the zone lies in relation to the object itself<br>
* **Rotation** - dictates the rotation of the zone in the world<br>
* **Force rotation** - dictates the direction(s) the force will push you upon entering the zone<br>
* **Force intensity** - the strength with which the force pushes you
  * 1 is fairly gentle, whereas 2 is stronger; 3 is extremely heavily, etc.

### Common uses

* Jumping impossible gaps
* Vents and fans, propelling you into the air
* Gentle levitation pads


# Exclusive Zone

is an Entity Component

Like a [**Trigger Zone**](/component-tutorials/components-a-closer-look/entity-components/trigger-zone), an Exclusive Zone tracks for player movement inside its range. It caps how many players can enter the zone, which can be used for things like safe zones in a battle royale scenario - the obstacles are getting harder, but only two people can get inside the safe area to avoid taking damage.

Best paired with a [**Timer** ](/component-tutorials/components-a-closer-look/entity-components/timer)to minimise camping inside and exploiting them.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FMSWjd3VZ6UTt4R4lbN3B%2FExclusive%20Zone.png?alt=media\&token=7df18ad3-e2cc-42f8-9847-543d0371c6c5)

* **Allowed players** - dictates how many players are allowed inside the zone before they're locked out<br>
* **Size** - dictates how big or small the zone is<br>
* **Rotation** - dictates the rotation of the zone in relation to the world<br>
* **Position** - dictates the position of the zone in relation to the object itself


# Post-Process Zone

is an Entity Component

Post-process is a component that is purely for aesthetics and ambience. While the worldspace overall will have set lighting and hues according to the Environment Component, you can use post-process to create areas with different moods to create a richer, more varied level. Think of them like a trigger zone you enter to add a filter to the camera.

For instance, on a spooky map you might want to create an area that glows ominously when you enter it, or lighting that changes when you enter/exit a house.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FKo46fpPUGh1dd32chQTM%2FPPz.png?alt=media\&token=f6d2d997-1e7c-4554-98a0-b1352aca1964)

* **Range** - dictates the size of the zone, measured in meters.
  * The zone will always be centred from the exact middle of the object it is assigned to, and cannot have its position changed like on a Trigger or Force zone.<br>
* **Falloff** - dictates the abruptness with which the zone's effects appear upon entering the zone.
  * 0 means the filter effect begins as soon as you come in range of the zone
  * 1 means there is a gradual fade from the regular world lighting to the filtered process lighting as you come in range of the zone<br>
* **Unlimited Range** - does the post-processing affect the entire map or not?
  * "Yes" is the default setting, so don't forget to deselect this if you are creating a self-contained zone!<br>
* **Color filter** - dictates the hue of the filter in more detail than a simple slider
  * Choose between Red, Green and Blue, respectively<br>
* **Saturation** - dictates how strong the colors are


# Sound

is an Entity Component

Sounds are used to bring life to interactions and events in the game. When you pull a lever, for instance, instead of just having it move in silence, we can now have an appropriate sound effect to go along with it. Sounds can also be used to create ambience with looping and unlimited range.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FGdnOys9M0uuZpZHnAQTT%2FSound.png?alt=media\&token=784e1cbc-45a4-4a8a-9388-432ecea23393)

* **Sound** - opens a mini-menu to preview and select from our range of sound effects<br>
* **Volume** - dictates how loud the sound is when played<br>
* **Random pitch** - creates variety whenever the sound is played<br>
* **Auto-start** - does the sound begin from the start of the game?<br>
* **Loop** - does the sound play continuously?
  * Best used with auto-start to create ambience, like sea waves or fire crackling<br>
* **Range** - dictates how far away a player can be from the sound and still hear it, measured in meters<br>
* **Unlimited range** - dictates whether or not players can hear the sound wherever they are on the map, recommended for creating ambience

### Common Uses

* Ambience
* Immersive sound effects
* Creating depth and character in a level
* Interactions - when I pet a rabbit, it will squeak!


# Die Roller

is an Entity Component

Die Roller is another behind the scenes component, used for creating chance and randomisation in levels. It can be a little tricky, but once you get a knack for it it feels straight-forward.

Currently, die roller supports up to 6 potential outcomes - just like the sides of a die - but if you apply this component to multiple entities, all having 6 possible outcomes, depending on how solid your linking is, you can create theoretically infinite random interactions and occurrences!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FYe5FpeHk32erbqQAWSJN%2FDie.png?alt=media\&token=679915d4-0574-4b63-a4ed-fdb470f9fcfc)

* **High roll threshold** - determines the minimum number for a high roll, for linking purposes. The default is 4. E.g.:
  * If I roll 1, 2 or 3, I've rolled low
  * If I roll 4, 5 or 6, I've rolled high
    * Can be used to easily create a 2-option outcome

### Common Uses

* Introducing chance to games - maximises replayability
* Randomised ambience


# Destruction

is an Entity Component

Destruction is a personal favourite. It has one function, and that's to blow entities to smithereens. That's it. Boom.

It should be noted, once an entity is destroyed it loses its functionality. E.g.: if you had a link set up to make the object move or rotate at a later stage, if it has been destroyed it will no longer do those things. Just be careful in planning out what objects get destroyed and when, and you're all good to go!

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FvadbuJ9nKNBWlKW1N2ut%2FDestruction.png?alt=media\&token=199cdeb9-4adb-453b-9d64-90bfa436549f)

* **Debris velocity** - dictates the speed and range with which the entity explodes<br>
* **Debris lifetime** - dictates how long the broken parts of the entity stay on the ground before disappearing


# Shootable

is an Entity Component.

Here's an entity component that works hand in hand with the **Player Component**, Shooter. It essentially dictates whether or not an object will detect if it's been shot by a player. Linking is required to determine what happens when it is - whether it be a health buff, score increase, destruction, etc.

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2FdRiEmgkfMdwBShiZqiUB%2FShoot.png?alt=media\&token=22752179-3ed2-40ea-9504-70444ba1a9be)


# Broadcaster

is an Entity Component

Broadcaster allows you to create text and messages that appears at the top of a player's screen, usually for mechanical purposes, like giving a hint to a puzzle or warning messages for players leaving a battle arena before they're respawned for chickening out.

Messages can be broadcast to just the player who activated them, everyone in the game, or everyone but the triggering player.&#x20;

![](https://3166848498-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzaqFJFbPM2opQ4D43YaF%2Fuploads%2F2Up4szNjQ4voiQEzx9dp%2FBroadcaster.png?alt=media\&token=2a7c7ad1-3f91-42f7-936a-5e90fc8c60af)

* **Message** - what appears to the players. Can be as long or short as you'd like.<br>
* **Include triggering player's name** **-** does the player who activated the message have their name displayed before the main text or not?
  * E.g.: **Player** has been killed // **Player** ponders the orb // **Player**, do you know you're a legend? // etc.

### Common Uses

* Puzzle hints
* Battle Royale announcements
* Easter Eggs
* Tutorials and rules
* Storytelling! - as players reach checkpoints in a level, more information can be revealed


