# Using Assets & Objects

## What are Assets and Objects?

{% tabs %}
{% tab title="Assets" %}

### **What is an Asset?**

**Assets**, or **Entities**, such as buildings, trees, characters, player equipment, etc. can be used for decoration, storytelling, and interactive play.

{% hint style="info" %}
If you're creating Assets for your own Experience, you do **NOT** need to mint them in order to use them. They must be uploaded to your Workspace on the same account as the Experience.
{% endhint %}

{% hint style="warning" %}
An Asset's size and appearance can **NOT** be changed in Game Maker.
{% endhint %}

### Assets as NFTs

Once the final version of an asset is decided, it can be **minted**. Then it becomes an ERC-1155 smart contract token, or a **non-fungible token (NFT)**, which can be monetised, traded, and collected via the **Marketplace**. This allows others to use it for game design or play.

Learn more about owning [**NFT Assets**](https://app.gitbook.com/s/61fllYo416R30LRxku4v/owners/play-and-create-tokens).
{% endtab %}

{% tab title="Objects" %}

## What is an Object?

An **Object** is a unique *instance* of an **Asset** placed in your Experience.

**Example:** You may use a specific tree Asset multiple times in an Experience to build the scenery.

**Each Object:**

* Includes the Asset's permanent **Rarity** and **Attributes**
* Includes **default properties** that can be modified
* Has **a unique identity** in your Experience (an ID code and customizable tags)

{% hint style="info" %}
Deleting an Object in your Experience, does **NOT** delete the Asset from your Library.
{% endhint %}
{% endtab %}

{% tab title="Special: Avatar Spawner" %}

### What is the Avatar Spawner/Portal?

<table data-card-size="large" data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td>The Avatar Spawner is the default object that spawns the Avatar in each Experience. Since this object is required to start any game, it can't be removed, but it can be set as invisible. In the <a data-mention href="../build-menus/side-bar#hierarchy">#hierarchy</a>, it is named <em>Avatar Portal</em>.</td></tr><tr><td><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/geh5ovd0PJlJXkDoYuyZ/image.png" alt=""></td></tr></tbody></table>

### The Avatar Spawner's Marker

<table data-card-size="large" data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td>A small blue marker hovers above the Avatar Spawner in Editor Mode. If the spawner is located outside of the Viewport, it appears at the screen edge.<br><br>Click the marker to refocus the camera on the spawner.</td></tr><tr><td><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/kSLqlY1Q9S5cn8xl0UUl/image.png" alt=""></td></tr></tbody></table>

### Properties

When the Avatar Spawner is selected, you can:

* Change its position and rotation
* Use the **Avatar Settings** button in the the [properties-panel](https://docs.sandbox.game/en/creator/game-maker/docs/build-menus/properties-panel "mention") to open them in [#gm-global-parameters-button](https://docs.sandbox.game/en/creator/game-maker/build-menus/top-bar#gm-global-parameters-button "mention").

<figure><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/b6q03nz1DKhjwqKE7ULT/image.png" alt="" width="413"><figcaption></figcaption></figure>

{% hint style="info" %}
When an avatar spawns, it does not have collisions with the Avatar Spawner. Place the spawner in the air to make the avatar drop into a scene.
{% endhint %}
{% endtab %}

{% tab title="Special: Logic Actor" %}

### What is a Logic Actor?

By default, Logic Actors have no visibility or collisions when placed. This allows you to quickly add logic where interaction with a 3D object isn't needed.&#x20;

Using Logic Actors instead of hiding visible objects with collisions leads to a cumulative improvement of your Experience's performance. After all, why make the game engine perform calculations for objects that aren't meant to be seen our touched?

Logic Actors with commonly used behaviours built in can be found in your Game Maker Library. Click on **Logic** in the list on the left to filter your Library to show all available Logic Actors. Click **Logic** again to remove the filter.

<div><figure><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FFs65RUnK1kFtkzFjQ6du%2Fimage.png?alt=media&#x26;token=3acb379c-2155-49fd-b5b1-358fd9bf0fec" alt=""><figcaption></figcaption></figure> <figure><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F04oKmjKUe05ywOzxRaiW%2Fimage.png?alt=media&#x26;token=1a3e618a-09a8-423b-9203-d8e0abdf0bb3" alt=""><figcaption></figcaption></figure> <figure><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FUjCcUdf1sRAGLpNq53ZS%2Fimage.png?alt=media&#x26;token=53684f89-e9ae-4a59-87f7-c98266664304" alt=""><figcaption></figcaption></figure></div>

<div><figure><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FmY7vYHtxs6kt6BzIjFo6%2Fimage.png?alt=media&#x26;token=c5707e8c-a176-454d-8b64-ba66f09fb236" alt=""><figcaption></figcaption></figure> <figure><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FETEwsOlJA6xmFfC7D9cf%2Fimage.png?alt=media&#x26;token=77c22066-a88c-4a6d-99ce-5b8bf1146961" alt=""><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

### Managing Object Position

{% hint style="info" %}
**NEW GAME MAKER 0.9 FEATURE -** [**Grid System**](https://docs.sandbox.game/en/creator/game-maker/docs/build-menus/grid-system-and-snap-tool)

Learn how easy it is to customise the grid to your needs and snap for easier level design, movement, and rotation.
{% endhint %}

{% tabs %}
{% tab title="Place, Duplicate & Remove" %}

### Place, Duplicate & Remove Objects

Elements such as Blocks, Logic Actors, and Assets, populate your Experience and make it interactive. Select one with a left click from the Library or from your Toolbar shortcuts. You can also drag and drop directly from the Library to the Viewport.

For Blocks, Logic Actors, and Assets, the controls to place, duplicate, and remove are:

* Left Click to **place** an Element
  * Hold the **SHIFT** key to snap to the grid
* Press CTRL+D to duplicate an object
  * Keep in mind it may save time to set up the object's logic before duplicating
* Right Click to **remove** an Element or press the **DELETE** key when it is selected

<table data-column-title-hidden data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Add More Elements to Your Library</strong></td><td><a href="../build-menus/library-and-quick-access-bar#add-more-elements">#add-more-elements</a></td></tr><tr><td><strong>Create a Toolbar Shortcut</strong></td><td><a href="../build-menus/library-and-quick-access-bar#what-is-the-toolbar">#what-is-the-toolbar</a></td></tr><tr><td><strong>Search and Filter Elements</strong></td><td><a href="../build-menus/library-and-quick-access-bar#filter-the-library">#filter-the-library</a></td></tr></tbody></table>

{% embed url="<https://youtu.be/k2H8a1gORxE>" %}
{% endtab %}

{% tab title="Select" %}

### <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FkX6ZE5EKaqPzA0VzrJlM%2Fimage.png?alt=media&#x26;token=8cb084be-a061-453f-86d1-5088d124ef3b" alt="" data-size="original"> [Select](https://docs.sandbox.game/en/creator/game-maker/build-menus/side-bar#select)

You must select an object before you can move, rotate, or apply changes to its properties.

* **Left Click** on an Object for a **single selection.**
* **Drag** to **select multiple** Objects

{% hint style="warning" %}
Selecting multiple objects with this tool will also include objects in the 3D space behind the objects you see, relative to the direction the camera is facing.
{% endhint %}

{% hint style="info" %}
**ADD AND REMOVE FROM SELECTION**\
To **add** Objects to the selection, hold **SHIFT** and left click. \
To **add or remove** Objects, hold **CTRL** and left click.
{% endhint %}

Once an Object is selected, it has an outline.

![](https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/DPFNPPVUQF5ZG3GYh17k/image.png)
{% endtab %}

{% tab title="Move" %}

### ![](https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FTrKnfUJYU0Pa4lkpAxVd%2Fimage.png?alt=media\&token=060d23a4-5988-4969-9b5e-81f453f8e515) [Move](https://docs.sandbox.game/en/creator/game-maker/build-menus/side-bar#move)&#x20;

{% hint style="info" %}
**SNAP MOVEMENT**\
Hold **SHIFT** to **snap movement to every half block**, or half meter.
{% endhint %}

### Move Along One Axis

The Move tool to the left of the screen allows you to move your asset in 3D space along the <mark style="color:red;">**X**</mark>, <mark style="color:green;">**Y**</mark> and <mark style="color:blue;">**Z**</mark>-axis. Selecting one of these arrows will keep movement locked to that axis.

&#x20;:left\_right\_arrow:     **X**: is the <mark style="color:red;">**Horizontal**</mark> Axis: from Left to Right

&#x20;:arrow\_up\_down:     **Y**: is the <mark style="color:green;">**Vertical**</mark> Axis: from Bottom to Up

:arrow\_upper\_right::arrow\_lower\_left: **Z**: is the <mark style="color:blue;">**Depth**</mark> Axis: from Front to Back

Use the Gizmo to move one or many Objects that are selected.

<div><figure><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/2BAp2NZqJsxGxdeGewdF/image.png" alt="" width="375"><figcaption><p>A single Object is selected</p></figcaption></figure> <figure><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/eaBoD18z182r7K4j2aCP/image.png" alt="" width="375"><figcaption><p>Multiple Objects are selected</p></figcaption></figure></div>

{% hint style="info" %}
When many Objects are selected, the location of the Gizmo will be at the centre of the selected Objects.
{% endhint %}

### Move Along Two Axes

Place your mouse cursor **between two movement arrows in the Gizmo** to reveal a square along those two axes. Click and drag to move on **both axes** at the same time.

<div><figure><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/oaENbKKUFtSqk1om4C3v/image.png" alt=""><figcaption><p>Between the <mark style="color:red;">X</mark> and <mark style="color:green;">Y</mark> arrows</p></figcaption></figure> <figure><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/UOghAjI5ZdlkNXwPkxj4/image.png" alt=""><figcaption><p>Between the <mark style="color:red;">X</mark> and <mark style="color:blue;">Z</mark> arrows</p></figcaption></figure> <figure><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/oEPpJDwhbwl5w2Rb17Ux/image.png" alt=""><figcaption><p>Between the <mark style="color:green;">Y</mark> and <mark style="color:blue;">Z</mark> arrows</p></figcaption></figure></div>

### Move Along Three Axes

Place your mouse cursor **in the centre of all the axes arrows** to reveal a small cube. Click and drag to move on all axes at the same time.

![](https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/u9xgOtQJwJp8b8VAmzrv/image.png)
{% endtab %}

{% tab title="Rotate" %}

### ![](https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FRVYSLmEkL0ChAbBWY9nI%2Fimage.png?alt=media\&token=fdf0d1d0-2834-49d8-9ab1-e7b6261c0801) [Rotate](https://docs.sandbox.game/en/creator/game-maker/build-menus/side-bar#rotate)

{% hint style="info" %}
**SNAP ROTATION**\
Hold **SHIFT** to **snap rotation to 45 degree increments**.
{% endhint %}

{% hint style="info" %}
**RANDOM ROTATION**\
When an Object is selected, press the **R** key to randomly rotate it on the <mark style="color:red;">**X**</mark> and <mark style="color:blue;">**Z**</mark> axes. This is often used to rotate plants, randomize NPCs in a crowd, etc.
{% endhint %}

### Rotate Along One Axis

The Rotate tool allows you to rotate your asset in 3D space along the <mark style="color:red;">**X**</mark>, <mark style="color:green;">**Y**</mark>, and <mark style="color:blue;">**Z**</mark>-axis. Selecting one of the circles will keep rotation locked to that axis.

:arrows\_clockwise:**X**: is a rotation around <mark style="color:red;">**the X axis**</mark>

:repeat:**Y**: is a rotation is around <mark style="color:green;">**the Y axis**</mark>

:arrows\_counterclockwise:**Z**: is a rotation is around <mark style="color:blue;">**the Z axis**</mark>\
\
You can use the Rotate tool on for multiple objects at once. The pivot point of Rotation is automatically defined at the center of all the selected objects.

<figure><img src="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/LQ7jUtAIBjgEVC4MpbF2/image.png" alt=""><figcaption></figcaption></figure>

### Rotate Along Two Axes

Just like with the Move tool, you can rotate an Object along two axes at once by **placing your mouse cursor between two circle axes in the Rotation Gizmo**, then click and drag.

### Rotate Along Three Axes

Just like with the Move tool, you can rotate an Object along three axes at once by **placing your mouse cursor at the center of the Rotation Gizmo**, then click and drag.
{% endtab %}
{% endtabs %}
