diff --git a/leitfaden.typ b/leitfaden.typ
index b5543dd1bb3077ee442e5328056e68e0bef43ebd..53e5a01dded5812a59aab764c4b185efe18d7495 100644
--- a/leitfaden.typ
+++ b/leitfaden.typ
@@ -19,11 +19,11 @@
 = Organisation
 - The GameJam starts on 05.07.2024 at 18:30.
   The final version has to be submitted until 07.07.2024 18:30.
-- The games are presented by you to the jury on 10.07.2024 from 10:00 to 12:00. The jury will then chose the winner.
+- The games are presented by you to the jury on 10.07.2024 from 10:00 to 12:00. The jury will then choose the winner.
 - During the presentation, you will show the games on your own devices. You shall further upload a compiled version, that is distributed to all participants.
 
 = Technical Requirements
-- The game has to support either Windows (10+) or Ubuntu (24.04). If possible (your engine supports this, and you used no OS-specific APIs), you shall submit versions for Windows, MacOS, and Linux.
+- The game has to support either Windows (10+) or Ubuntu (24.04). If possible (your engine supports this, and you used no OS-specific APIs), you shall submit versions for Windows, macOS, and Linux.
 - If your game is intended for gamepads, it must also be possible to play one player with keyboard and mouse.
 - There will be repositories in the RWTH Gitlab. There you submit your final version.
 - We do not mandate a specific engine, though we do recommend to use Godot or Unity. We also recommend that you get familiar with the engine, you would like to use, before the jam starts.
@@ -55,7 +55,7 @@ In 3D games, the UI overlay is done the same way as in 2D games, but the 3D worl
 The components are shown in @3dmodel.
 The basis is a mesh (usually consisting only of triangles).
 Next we need textures:
-Each vertex (point) in the mesh has an UV-map attribute,
+Each vertex (point) in the mesh has a UV-map attribute,
 that tells to which point in the 2D texture it corresponds.
 There can be several textures.
 The most common textures are
@@ -69,7 +69,7 @@ Note, that advanced shadered materials from 3D software are usually not exportab
 This is in part because of lack of standardized formats, but also because games require real-time rendering,
 which heavily restricts how complex graphics can be.
 
-For unanimated objects, this is sufficient.
+For inanimate objects, this is sufficient.
 For animated objects we need some more components.
 First, we add bones to the model (this process is called _rigging_).
 Then we say for each combination of bone and vertex,
@@ -100,7 +100,7 @@ There is usually one music played concurrently, while sound effects are triggere
 Most games need some form of physic simulation.
 For this, each entity that should be influenced by physics,
 gets a component (most commonly a rigid body component).
-The components tells the weight of the object, whether its position or rotation is fixed,
+The components tell the weight of the object, whether its position or rotation is fixed,
 how much it bounces (_bounciness_) or is affected by friction (_roughness_).
 
 A physics engine simulates in every frame the physical changes to all entities with physical components.
@@ -115,10 +115,10 @@ The task of determining what colliders a ray (a line going from a point in one d
 *Game engine*#h(1em)
 The game engine loads required assets on startup and then enters the main loop.
 In every frame, the loop will go through several stages (usually this includes `PreUpdate`, `Update`, and `PostUpdate`),
-giving scripts the opportunity to act in these stage.
+giving scripts the opportunity to act in these stages.
 There is also a special stage called `FixedUpdate`, that is called with a fixed interval between all invocations, independently of the game's frame rate.
 After each iteration of the main loop, the engine will render the world to the screen.
-During rendering, the engine might also perform post-processing steps like anti-aliasing#footnote[See https://docs.godotengine.org/en/stable/tutorials/3d/3d_antialiasing.html for Godot's options].
+During rendering, the engine might also perform post-processing steps like antialiasing#footnote[See https://docs.godotengine.org/en/stable/tutorials/3d/3d_antialiasing.html for Godot's options].
 
 *Networking*#h(1em)
 For a $2$-day game jam you should probably stick to the default networking method of your game engine.
@@ -127,12 +127,12 @@ Some considerations are collected #link("https://github.com/bevyengine/bevy/disc
 If you want to do your own networking, I also recommend the networking section of #link("https://youtu.be/ueEmiDM94IE?t=1802")[the GDC presentation from the RocketLeague developers] on how to design physic-based games.
 
 == Entity-Component-System (ECS) <ecs>
-#info[This section does not apply to Godot, which uses an object-oriented class hierachy and not ECS.]
+#info[This section does not apply to Godot, which uses an object-oriented class hierarchy and not ECS.]
 Game engines sometimes use a design pattern named entity-component-system (ECS)#footnote[Strictly speaking Unity does not use ECS either, but only the EC-pattern. The systems part is not used in Unity.].
 An entity is like an object.
 It could be a physical object in the game, f.e. the player character, the camera, a light source, a spawn point, or a projectile.
 But it could also be something without relevant 3D Location, f.e. an event receiver or a global script.
-Entities have components, that define the entities functionality.
+Entities have components, that define the entities' functionality.
 
 For example, an arrow projectile could have the following components:
 - a transform component, that tells where the entity is located in the world and how it is rotated
@@ -142,7 +142,7 @@ For example, an arrow projectile could have the following components:
 - a script component, to process events (f.e. the event that the arrow hit another entity)
 
 #figure(image("/images/Unity/components.png"), caption: [
-  Screenshot from Unity with the hierachy of entities to the left (the red box) and the components of a PlayerArmature to the right (the blue box).
+  Screenshot from Unity with the hierarchy of entities to the left (the red box) and the components of a PlayerArmature to the right (the blue box).
 ])
 
 == Modularization
@@ -153,7 +153,7 @@ To avoid recreating this for every player from scratch, you should instead make
 and instantiate it for every player.
 In Godot you just create a regular scene and instantiate it in another scene.
 In Unity this not possible.
-Instead there are special scenes called _Prefabs_ that can be instantiated in regular scenes.
+Instead, there are special scenes called _Prefabs_ that can be instantiated in regular scenes.
 
 == Where can I obtain free assets?
 
@@ -289,5 +289,5 @@ The easiest way is with its #link("https://static.makehumancommunity.org/mpfb/do
 #wrap-content(link("https://creativecommons.org/licenses/by-sa/4.0/", image("/images/cc-by-sa.svg", width: 5em, fit: "stretch")))[
   This document #{sym.copyright} 2024 by Lars Frost is licensed under the #link("https://creativecommons.org/licenses/by-sa/4.0/")[CC BY-SA 4.0].
   You may redistribute it and/or modify it under the terms of the license.
-  All assets are used under license from their copyright holders. Their sources where you can find author and license are linked in the image or their caption.
+  All assets are used under license from their copyright holders. Their sources, where you can find author and license, are linked in the image or their caption.
 ]
diff --git a/sections/godot.typ b/sections/godot.typ
index 9ba238f948d928c50b70c74181ddb31d11d851c2..13bc01a2f2bff5c095583932b3a0b030df9130a4 100644
--- a/sections/godot.typ
+++ b/sections/godot.typ
@@ -10,7 +10,7 @@ It also supports #link("https://docs.godotengine.org/en/stable/tutorials/scripti
 and has native bindings called GDExtensions for C and C++.
 There are also several community-maintained language bindings like #link("https://github.com/utopia-rise/godot-kotlin-jvm")[Kotlin]
 or #link("https://github.com/Geequlim/ECMAScript")[JavaScript/TypeScript] with a modified base engine or #link("https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/what_is_gdextension.html#supported-languages")[Rust, Go, and Swift] for GDExtensions.
-However, I advise to use GDScript or C\# as they have the best support, and have a programming model fitting the engine.
+However, I advise using GDScript or C\# as they have the best support, and have a programming model fitting the engine.
 ]
 #wrap-content(image("/images/godot/icon.svg", width: 4em), wrapleft)
 
@@ -81,7 +81,7 @@ You can generate a collider from a `MeshInstance3D` by selecting it, then open t
 See #link("https://docs.godotengine.org/en/stable/tutorials/networking/high_level_multiplayer.html")[the docs] for an introduction to Godot's high-level networking and sample code to build a client-server based lobby.
 The `multiplayer` variable is global, and assigning a client or server peer object to it enables multiplayer via the high-level API.
 
-If want spawned scenes to replicate on spawn accross the network, you will need #link("https://docs.godotengine.org/en/stable/classes/class_multiplayerspawner.html")[`MultiplayerSpawner`].
+If you want spawned scenes to replicate on spawn across the network, you will need #link("https://docs.godotengine.org/en/stable/classes/class_multiplayerspawner.html")[`MultiplayerSpawner`].
 To sync state continuously, you will need a #link("https://docs.godotengine.org/en/stable/classes/class_multiplayersynchronizer.html#class-multiplayersynchronizer")[`MultiplayerSynchronizer`] child for the synchronized node, which has a script, that sets the properties, that should be synced, in the #link("https://docs.godotengine.org/en/stable/classes/class_multiplayersynchronizer.html#class-multiplayersynchronizer-property-replication-config")[`replication_config`].
 
 If you sync the positions of rigid bodies, you should #link("https://docs.godotengine.org/en/latest/classes/class_rigidbody2d.html#class-rigidbody2d-property-freeze")[`freeze`] them in #link("https://docs.godotengine.org/en/latest/classes/class_rigidbody2d.html#enum-rigidbody2d-freezemode")[`FREEZE_MODE_KINEMATIC`] on peers that don't control the body.
@@ -111,10 +111,10 @@ or follow @godot-export.
   After adding the first target, Godot will complain that you have no export templates.
   By click on `Manage Export Templates` you can open the dialog to download them.
   After downloading the templates, you can add all targets and set the export path for each target.
-  You can either export a sigle target with `Export Project` or all with `Export All...` after configuring the export path for every target.
+  You can either export a single target with `Export Project` or all with `Export All...` after configuring the export path for every target.
 ]) <godot-export>
 
 To use headless mode, simply add the `--headless` option when executing the game.
 
-To run on macOS, #link("https://developer.apple.com/programs/enroll/")[enroll the apple developer programm] or
+To run on macOS, #link("https://developer.apple.com/programs/enroll/")[enroll the apple developer program] or
 #link("https://docs.godotengine.org/en/stable/tutorials/export/running_on_macos.html")[disable gatekeeper].
\ No newline at end of file
diff --git a/sections/unity.typ b/sections/unity.typ
index 5b44051a6585cee40123b62bc194b80cf789862b..89c79e2725c1c1443b2d8aa749d4076aa482bb84 100644
--- a/sections/unity.typ
+++ b/sections/unity.typ
@@ -2,7 +2,7 @@
 #pagebreak()
 
 = How To Unity
-Unity is proprietary engine that might be used at no cost for small projects (see the #link("https://unity.com/legal/eula")[EULA] and whatever you have to consent, when downloading a license key).
+Unity is a proprietary engine that might be used at no cost for small projects (see the #link("https://unity.com/legal/eula")[EULA] and whatever you have to consent, when downloading a license key).
 It only officially supports C\# as scripting language.
 Other .NET language might work, but I discourage using them,
 and recommend stick to the only language that is well tested, where bugs are fixed,
@@ -63,7 +63,7 @@ The new system #link("https://docs.unity3d.com/Manual/UIElements.html")[UI Toolk
 == Input processing
 There are two input systems.
 The old one, called #link("https://docs.unity3d.com/Manual/class-InputManager.html")[Input Manager], and the new one in the #link("https://docs.unity3d.com/Packages/com.unity.inputsystem@1.7/manual/index.html")[InputSystem-Package].
-The new input systems has a simple way (actionmaps) and a complex way (event handling) of processing user input.
+The new input system has a simple way (actionmaps) and a complex way (event handling) of processing user input.
 
 The simple way is shown by #link("https://docs.unity3d.com/Packages/com.unity.inputsystem@1.7/manual/ActionAssets.html")[the docs].
 You create an `*.inputactions` file with actions that are then mapped to `On<actionname>` methods.
@@ -109,7 +109,7 @@ and put it into `Assets/Editor/Builds.cs` to create a Unity Toolbar Item for bui
 To make it work, you need to have the modules for all supported platforms installed via UnityHub as seen in @unity-export.
 
 #figure(image("/images/Unity/crosscompile.png"), caption: [
-  Module options on Linux for Linux, MacOS, and Windows support for both graphical and headless (dedicated server) mode.
+  Module options on Linux for Linux, macOS, and Windows support for both graphical and headless (dedicated server) mode.
   Since this screenshot was done on Linux, there is no `Linux Build Support (Mono)` option, which is built-in on Linux.
   If you are on Windows, the `Windows Build Support (Mono)` option would be built-in and `Linux Build Support (Mono)` has to be selected additionally.
 ]) <unity-export>
\ No newline at end of file