You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert

10
+
11
+
You can customize the Game Studio layout by dragging tabs, similar to Visual Studio.
12
+
13
+
For more information about Game Studio, see the [Game Studio](../game-studio/index.md) page.
14
+
15
+
## Code Editor
16
+
7
17
### Godot
8
18
9
19
Godot provides a built-in code editor that supports its own scripting language, GDScript, as well as C# and VisualScript. The Godot editor is more tightly integrated with the engine and is generally kept up-to-date with new features.
10
20
11
-
In summary, while both Stride and Godot offer integrated code editors, Stride's editor is best considered a supplementary tool rather than a complete IDE. It is advised to use specialized IDEs for more complex development tasks in Stride. Godot's editor, on the other hand, is robust enough for full-scale development if you are using GDScript or C#.
12
-
13
21
### Stride
14
22
15
23
Stride comes with an integrated C# code editor within Game Studio. Although functional, this editor is not a high-priority feature and may not receive frequent updates. As such, it is generally recommended to use dedicated IDEs for code editing. Some popular choices include:
@@ -19,14 +27,7 @@ Stride comes with an integrated C# code editor within Game Studio. Although func
19
27
- Visual Studio Community: Free for small teams and individual developers.
20
28
- Visual Studio Professional and Enterprise: Paid versions with additional features and services.

25
-
26
-
You can customize the Game Studio layout by dragging tabs, similar to Visual Studio.
27
-
28
-
For more information about Game Studio, see the [Game Studio](../game-studio/index.md) page.
29
-
30
+
In summary, while both Stride and Godot offer integrated code editors, Stride's editor is best considered a supplementary tool rather than a complete IDE. It is advised to use specialized IDEs for more complex development tasks in Stride. Godot's editor, on the other hand, is robust enough for full-scale development if you are using GDScript or C#.
30
31
31
32
## Terminology
32
33
@@ -46,7 +47,7 @@ For more information about Game Studio, see the [Game Studio](../game-studio/ind
46
47
-**Assets**
47
48
- In Godot, you can store assets anywhere.
48
49
- In Stride, assets are stored in the `Assets` folder.
49
-
- Stride and Godot use the standard C# solution structure. A key difference is that Stride uses a multi-project architecture with the following projects:
50
+
- Stride and Godot use the standard C# solution structure. A key difference is that **Stride uses a multi-project architecture with the following projects**:
50
51
-`MyPackage.Game` contains your source code.
51
52
-`MyPackage.Platform` contains additional code for the platforms your project supports. Game Studio creates folders for each platform (for example, `MyPackage.Windows`, `MyPackage.Linux`, etc.). These folders are usually small and only contain the program entry point.
52
53
- Any additional subprojects. Stride scans subprojects the same way it scans the main project to find `DataContract` classes and features for the editor and game.
@@ -134,27 +135,29 @@ Stride uses position, rotation, and scale to refer to the local position, rotati
> In Godot, `Node3D.rotation` is Euler angles in **radians**, and Godot also exposes convenience properties like `rotation_degrees`.
143
+
>
144
+
> In order to get and set rotation using degrees use the utility methods [`MathUtil.DegreesToRadians`](xref:Stride.Core.Mathematics.MathUtil.DegreesToRadians) and [`MathUtil.RadiansToDegrees`](xref:Stride.Core.Mathematics.MathUtil.RadiansToDegrees) with `Transform.RotationEulerXYZ`.
142
145
143
146
144
147
#### World Position/Rotation/Scale
145
148
146
149
In Godot, world-space transform values are typically accessed via `global_*` properties or `global_transform`. In comparison to Godot, many of the Transform component's properties related to its location in the world are accessed via Stride's [WorldMatrix](xref:Stride.Engine.TransformComponent.WorldMatrix).
| Decompose translation/scale |`Transform.WorldMatrix.Decompose(out Vector3 scale, out Vector3 translation)`|
160
+
| Decompose translation/rotation/scale |`Transform.WorldMatrix.Decompose(out Vector3 scale, out Quaternion rotation, out Vector3 translation)`|
158
161
159
162
> [!NOTE]
160
163
> `WorldMatrix` is only updated after the entire Update loop runs, which means that you may be reading outdated data if that object's or its parent's position changed between the previous frame and now.
@@ -244,8 +247,8 @@ public override void Update()
244
247
245
248
| Godot | Stride |
246
249
|---|---|
247
-
|`delta` in `_Process(double delta)`|`Game.UpdateTime.Elapsed.TotalSeconds`|
248
-
|`delta` in `_PhysicsProcess(double delta)`|`Game.UpdateTime.Elapsed.TotalSeconds`|
250
+
|`delta` in `_Process(double delta)`|`Game.UpdateTime.WarpElapsed.TotalSeconds`|
251
+
|`delta` in `_PhysicsProcess(double delta)`|`simTimeStep` in `SimulationUpdate(BepuSimulation simulation, float simTimeStep)`|
249
252
|`Engine.time_scale`|`Game.UpdateTime.Factor`|
250
253
251
254
## Physics
@@ -260,7 +263,7 @@ In Stride, there are three main types of colliders:
260
263
-**Rigidbodies:** Dynamic colliders that are subject to physics simulations, such as gravity or force.
261
264
-**Characters:** Special colliders designed to work with character controllers.
262
265
263
-
In Stride, collision handling is done through physics components and script logic that handle collision events and triggers. For details, see [Physics](../physics/index.md), [Triggers](../physics/triggers.md), and [Raycasting](../physics/raycasting.md).
266
+
In Stride, collision handling is done through physics components and script logic that handle collision events and triggers. For details, see [Physics](../physics/index.md), [Triggers](../physics/triggers.md), and [Physics Queries](../physics/raycasting.md).
264
267
265
268
### Godot
266
269
@@ -281,9 +284,9 @@ For example, instead of inheriting from `CharacterBody3D` in Godot, in Stride yo
281
284
282
285
```csharp
283
286
// Example of searching for a CharacterComponent in Stride
0 commit comments