Skip to content
Back to skills

Unity Development Patterns

ASecurity

Use when developing games with Unity engine.

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 10, 2026
ai-agentsgoc#apiperformance

Works with

  • api

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add LoopyLuci/Skills --skill unity-development-patterns --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Unity Development Patterns?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Unity Development Patterns
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/loopyluci-unity-development-patterns/badge)](https://www.skillsdirectory.com/skills/loopyluci-unity-development-patterns)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: unity-development-patterns
description: "Use when developing games with Unity engine."
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
  hermes:
    tags: [Unity, C#, game-development, ECS, DOTS, MonoBehavior, shaders]
    related_skills: [game-development-patterns, unreal-engine-basics, godot-game-engine, webxr-ar-vr-development]
---

# Unity Development Patterns

Building games and applications with Unity — from MonoBehavior architecture and ECS/DOTS through asset management, physics, lighting, and build optimization.

## When to Use

- Building 2D/3D games with Unity
- Implementing Unity ECS (DOTS) for performance
- Managing assets, scenes, and builds
- Optimizing Unity project performance

## Unity Architecture

```csharp
// MonoBehavior component pattern
public class PlayerController : MonoBehavior
{
    [SerializeField] private float moveSpeed = 5f;
    [SerializeField] private Rigidbody rb;
    
    void Awake() => rb ??= GetComponent<Rigidbody>();
    void FixedUpdate() => HandleMovement();
    void OnCollisionEnter(Collision other) => HandleCollision(other);
    
    private void HandleMovement()
    {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        rb.AddForce(new Vector3(h, 0, v) * moveSpeed);
    }
}

// DOTS ECS pattern
public struct VelocityComponent : IComponentData { public float3 Value; }
public partial struct MovementSystem : ISystem
{
    public void OnUpdate(ref SystemState state)
    {
        foreach (var (vel, trans) in 
                 SystemAPI.Query<RefRW<VelocityComponent>, RefRW<LocalTransform>>())
        {
            trans.ValueRW.Position += vel.ValueRO.Value * SystemAPI.Time.DeltaTime;
        }
    }
}
```

## Verification Checklist

- [ ] Project structure organized (Scenes, Scripts, Prefabs, Assets)
- [ ] MonoBehavior components follow single responsibility
- [ ] Physics layers and collision matrix configured
- [ ] Build settings per platform (standalone, mobile, WebGL)
- [ ] Performance profiling (frame debugger, profiler, memory)
- [ ] Asset bundle/addressable strategy for content management
- [ ] DOTS/ECS considered for CPU-intensive systems

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…