Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions en/contributors/documentation/major-release-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Assuming the transition is from version `4.1` to `4.2`, and that the Stride source code has been updated to the corresponding .NET version, follow these steps. Note that some steps can be executed at a later stage if needed.

1. Update `manual\requirements\index.md` to reflect the new .NET version references
1. Update `manual\install-and-update\requirements.md` to reflect the new .NET version references
1. Duplicate `ReleaseNotes\ReleaseNotes.md` and rename the copy to `ReleaseNotes-4.1.md`
1. Update `ReleaseNotes.md`:
- Change the content title to `4.2`
Expand Down Expand Up @@ -48,4 +48,4 @@ The `BuildDocs.ps1` script will manage the deployment to the `4.2` folder while
- Update Visual Studio version
1. Modify `includes\docs-prerequisites.md`
- Update SDK and .NET version references
- Update Visual Studio version
- Update Visual Studio version
40 changes: 40 additions & 0 deletions en/manual/get-started/assets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Assets

<span class="badge text-bg-primary">Beginner</span>

An asset is a representation of an element of your game inside Game Studio, such as texture, animation or model.

## Create an asset

To create an asset, click the "Add Asset" button in the **Asset View** and select the type of asset you want to create.

![Image of the "Add Asset" menu in the asset view.](media/asset-view-create-new.webp)

## Create assets from resources

To create an asset from a resource, simply drag and drop it from a folder.

Then, select the type of resource you want to create.

![Popup showing a list of assets that can be created from the dragged resource.](media/asset-view-from-resource-type.webp)

You will be asked, if you want to **copy the dragged file to the resources folder**. Most of the time, **you want to do this**, in order to make the project easier to share and use version control with.

![A popup "Source file 'C:/Users/franc/Downloads/Grass0044K-PNG/Grass0044K-PNG_Color.png' is not inside of your project's resource folders, do you want to copy it?" with two options "yes" and "no".](media/asset-view-copy-resource.webp)

Finally, you will be asked if you want to **move it to the default location**. Again, most of the time **you want to do this**, unless you need more control over where resources end up.

![A popup "Do you want to place the resource in the default location ?" with two options "yes" and "no"](media/asset-view-resource-default-location.webp)

## Green, blue and gray dots

![A screenshot of three items in the Asset View, all having a small circle in the top left corner of their icon with one being blue, one green and one gray.](media/asset-view-indicators.webp)

Every asset has a little dot in the top left corner of their icon. This dot indicates if an asset is going to be included when building the project:
* **Blue** - the asset will be included in the build no matter if it's needed or not.
* **Green** - the asset will be included in the build, because a different asset needs it.
* **Gray** - the asset will not be included in the build.

Stride doesn't include assets which aren't used anywhere, meaning that **they cannot be accessed when running the game**. In order to ensure, that an asset will always be included in the build, right click on it and select **Include in build as root asset**.

![A screenshot of an asset's context menu, highlighting an item "Include in build as root asset".](media/asset-view-include-root.webp)
6 changes: 1 addition & 5 deletions en/manual/get-started/create-a-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,4 @@ To create a project from a sample or template:

5. Select the platforms you want your game to support and click **OK**.

Stride creates the project and opens it in Game Studio.

## What's next?

* [Get familiar with Game Studio](../game-studio/index.md)
Stride creates the project and opens it in Game Studio.
45 changes: 45 additions & 0 deletions en/manual/get-started/game-studio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Game Studio

<span class="badge text-bg-primary">Beginner</span>

**Game Studio** is an essential tool, used for editing assets, arranging scenes and much more. It's important to familiarize yourself with it's layout.

![An image showing the Game Studio.](media/game-studio.webp)

## Asset Editor

![An image showing a scene being edited in the Asset Editor.](media/asset-editor.webp)

The **asset editor** is a dedicated editor for certain assets. It's most commonly used for editing scenes and their entities.

## Property Grid

![An image showing an entity names "Ground" in the property grid with a single component.](media/property-grid.webp)

The **property grid** displays a list of properties of selected assets and entities.

This is where you can assign [Components](key-concepts#components) to entities and edit their properties.

## Solution Explorer

![An image of the solution explorer.](media/solution-explorer.webp)

The **solution explorer** displays the hierarchy of elements in the C# solution associated with the Project. These elements contain assets and code.

In a new project, there are 2 or more items under the solution: `NameOfMyProject` and `NameOfMyProject.NameOfPlatform` (there could be one or more of these).
* `NameOfProject` contains files for the game.
* `NameOfProject.NameOfPlatform` contains files specific to that platform (mostly, the Program.cs file from which the game starts and the window icon).

Under each of those elements, there are 2 folders: **Assets** and **Code**.
* **Assets** contains all assets of that element.
* **Code** contains all code of that element.

## Asset View

![An image of the asset view.](media/asset-view.webp)

The **asset view** displays contents of a selected folder in the **[solution explorer](#solution-explorer)**.

Items from the **asset view** can be dragged into other editors (for example: dragging a prefab into the scene in the **[Asset Editor](#asset-editor)**).

To create a new asset, click the **Add asset** button in the top left corner.
16 changes: 6 additions & 10 deletions en/manual/get-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,19 @@ uid: ../toc.md

<span class="badge text-bg-primary">Beginner</span>

Welcome to Stride! This chapter provides everything you need to start creating games using the Stride game engine. If you're new to Stride, we recommend starting with the [Install Stride](install-stride.md) guide, which will help you set up the engine and get you ready for development.
Welcome to Stride! This chapter provides everything you need to start creating games using the Stride game engine. If you haven't already, you can learn how to install the engine with the [Install Stride](../install-and-update/install-stride.md) guide.

Stride is designed for game developers who want a powerful, flexible, and open-source engine for their projects. Whether you're an experienced developer or just starting out, these guides will walk you through the basics and help you get up and running quickly.

For video tutorials, have a look at the [Tutorials](../../tutorials/index.md).

If you're interested in building the Stride engine from source or contributing to its development, please refer to the instructions on our [GitHub repository](https://github.com/stride3d/stride).

![Game Studio](media/get-started.webp)

## In this section

* [Install Stride](install-stride.md)
* [Launch Stride](launch-Stride.md)
* [Visual Studio extension](visual-studio-extension.md)
* [Create a project](create-a-project.md)
* [Game Studio](../game-studio/index.md)
* [Assets](../game-studio/assets.md)
* [Introduction to scenes](../game-studio/scenes.md)
* [Launch your game](launch-a-game.md)
* [Key Concepts](key-concepts.md)
* [Game Studio](game-studio.md)
* [Assets](assets.md)
* [Launch your game](launch-a-game.md)
* [Next steps](next-steps.md)
115 changes: 0 additions & 115 deletions en/manual/get-started/install-stride.md

This file was deleted.

60 changes: 60 additions & 0 deletions en/manual/get-started/key-concepts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Key concepts

<span class="badge text-bg-primary">Beginner</span>

This article highlights most important concepts that are used in the engine.

## Scenes

A scene is a collection of entities that can be loaded and unloaded on demand. Most often, scenes contain different levels of a game or menus.

In Stride, Scenes can contain sub-scenes that can be loaded and unloaded on demand.

![An image showing a scene structure with multiple subscenes containing entities.](media/scene-nesting.webp)

## Entities

Entities represent different objects in a scene, like the player, enemies, walls, etc. These entities contain components that dictate how they behave.

## Components

Components dictate how entities which they are attached to behave. For example: a player movement component that makes an entity move, when keyboard buttons are pressed.

In code, a component is a class that inherits `StartupScript`, `SyncScript` or `AsyncScript`.

```csharp
using Stride.Engine;

namespace MyGame;

public class MyComponent : StartupScript
{
public override void Start()
{
// Write your code here
}
}
```

## Script types

In Stride, a component can be created from one of 3 types of script:
- **Startup Script** - a script that runs only once when it's added.
- **Sync Script** - a script that runs when it's added and then every frame.
- **Async Script** - an **asynchronous** script that runs only once when it's added, but can await the next frame continuously.

For more information, read [types of script](../scripts/types-of-script).

## Assets and resources

An **asset** is a representation of an element in the project (like a texture), that contains a list of it's properties in the engine (e.g. `.sdmat` `.sdprefab`).

A **resource** is a file on the disk containing data, like an image (e.g. `.png` `.mp3`), that's used in the project.

Assets do not contain resource data. Instead, they reference a resource. For example: a texture asset (`.sdtex`) has a reference to an image (`.png`) that is located in the resource folder.

## Project structure

A Stride project is a standard [C# solution](https://learn.microsoft.com/en-us/visualstudio/ide/solutions-and-projects-in-visual-studio?view=vs-2022). Assets and resources can be separated into multiple C# projects, for example: **MyGame** contains game assets and **MyGame.Windows** contains assets specific to the windows version of the game (like the window icon).

For more information, read [project structure](../files-and-folders/project-structure).
32 changes: 0 additions & 32 deletions en/manual/get-started/launch-a-game.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,35 +46,3 @@ This page explains how to launch your game using Game Studio or Visual Studio.
* To start the game with debugging, click **Start** or press **F5**.

![Visual Studio Start button](media/visual-studio-start-button.webp)

## Remove borders

By default, the game runs with window borders.

| With borders | Without borders
|---------------------------|-----------------
| ![With borders](media/with-borders.webp) | ![Without borders](media/without-borders.webp)

To run the game without borders, use:

```cs
Game.Window.IsBorderLess = true;
```

For example:

```cs
using Stride.Engine;

namespace MyGame
{
public class MyScript : StartupScript
{
public override void Start()
{
base.Start();
Game.Window.IsBorderLess = true;
}
}
}
```
Loading