Skip to content

Unity and game development

↑

This section collects Unity and C# notes with explanations that can be understood without launching an editor.

  • Game loops and the role of Update versus FixedUpdate
  • Working with MonoBehaviour and components
  • Choosing data structures for runtime systems
  • Separating core algorithms from Unity scene objects
  • Save data and persistence
C# | Core logic
public static int GetHighestScore(IEnumerable<int> scores)
{
return scores.Max();
}

Keeping algorithms independent of Unity APIs makes them easier to unit test and reuse.

Read the lifecycle notes first so that FixedUpdate and input timing make sense. Then look at physics movement, followed by collision callbacks. Once the runtime behavior is clear, the C# and assembly guides help you organize larger projects without tying every gameplay class to Unity itself.

Use the Unity attributes reference to find Inspector, serialization, component, Editor and Jobs/Burst attributes. It includes practical C# examples, requirements and a comparison guide to avoid mixing up similar annotations.

Core concepts: Scenes and GameObjects → Hierarchy and Transforms → Prefabs.

Rendering: Materials → Shaders → Shader Graph → Writing URP shaders → Shader optimization.

From project to player: Build fundamentals → Build Profiles → Build from Editor → Clean and development builds → Build output → Command-line builds →.

These lessons explain not only the interface steps, but also what Unity creates, why the settings matter and which changes to test in a real player. They link to the official Unity 6.6 manual for version-specific details.