Claude Code Plugins

Community-maintained marketplace

Feedback

Game development skill - Unity, Unreal, Godot, graphics, physics

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name gamedev
description Game development skill - Unity, Unreal, Godot, graphics, physics
version 1.0.0
sasmp_version 1.3.0
input_schema [object Object]
output_schema [object Object]
retry_config [object Object]
timeout_ms 60000

Game Development Skill

PURPOSE

Game development with major engines, graphics programming, and optimization.

CORE COMPETENCIES

Game Engines:
├── Unity (C#)
├── Unreal Engine (C++/Blueprints)
├── Godot (GDScript/C#)
└── Custom engines

Graphics:
├── Shaders (HLSL/GLSL)
├── Rendering pipelines
├── Lighting systems
├── Particle effects
└── Post-processing

Systems:
├── Physics simulation
├── AI/Pathfinding
├── Networking/Multiplayer
├── Audio systems
└── Save/Load systems

CODE PATTERNS

Unity Component

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour
{
    [SerializeField] private float moveSpeed = 5f;
    [SerializeField] private float jumpForce = 10f;

    private Rigidbody2D rb;
    private bool isGrounded;

    private void Awake()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    private void Update()
    {
        float horizontal = Input.GetAxisRaw("Horizontal");
        rb.velocity = new Vector2(horizontal * moveSpeed, rb.velocity.y);

        if (Input.GetButtonDown("Jump") && isGrounded)
        {
            rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse);
        }
    }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.CompareTag("Ground"))
            isGrounded = true;
    }
}

Unreal Actor

// PlayerCharacter.h
UCLASS()
class APlayerCharacter : public ACharacter
{
    GENERATED_BODY()

public:
    APlayerCharacter();

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Movement")
    float MoveSpeed = 600.0f;

protected:
    virtual void BeginPlay() override;
    virtual void Tick(float DeltaTime) override;
    virtual void SetupPlayerInputComponent(UInputComponent* InputComponent) override;

private:
    void MoveForward(float Value);
    void MoveRight(float Value);
};

Shader Example

Shader "Custom/ToonShader"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        _RampTex ("Ramp", 2D) = "white" {}
    }

    SubShader
    {
        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            float4 frag(v2f i) : SV_Target
            {
                float NdotL = dot(i.normal, _WorldSpaceLightPos0.xyz);
                float ramp = tex2D(_RampTex, float2(NdotL * 0.5 + 0.5, 0.5)).r;
                return tex2D(_MainTex, i.uv) * ramp;
            }
            ENDCG
        }
    }
}

PERFORMANCE OPTIMIZATION

CPU:
├── Object pooling
├── LOD systems
├── Culling strategies
├── Job system / threading
└── Data-oriented design

GPU:
├── Batching (static/dynamic)
├── Texture atlasing
├── Shader optimization
├── Occlusion culling
└── GPU instancing

Memory:
├── Asset streaming
├── Garbage collection management
├── Addressables
└── Memory profiling

TROUBLESHOOTING

Issue Cause Solution
Low FPS Draw calls Batching, atlasing
Stuttering GC spikes Object pooling
Memory leak Unreleased refs Proper cleanup
Physics jitter Variable timestep FixedUpdate