Communitygithub.com

rmyndharis/unity-developer

Créez des jeux Unity avec des scripts C# optimisés, un rendu efficace et une gestion appropriée des ressources. Maîtrise les pipelines Unity 6 LTS, URP/HDRP et les déploiements cross-plateforme. Prend en charge les systèmes de gameplay, l'implémentation de l'interface utilisateur et l'optimisation des plateformes. À utiliser PROACTIVEMENT pour les problèmes de performance Unity, les mécaniques de jeu ou les builds cross-plateforme.

Qu'est-ce que unity-developer ?

Cette compétence spécialisée dans le développement de jeux Unity aide les agents IA à créer des jeux performants en utilisant des scripts C# optimisés, des pipelines de rendu efficaces (URP/HDRP) et une gestion rigoureuse des ressources. Le développeur Unity maîtrise Unity 6 LTS et les déploiements cross-plateforme, ce qui permet de résoudre les problèmes de performance, de concevoir des mécaniques de jeu complexes (systèmes de gameplay, IA ennemie, animations procédurales) et d'implémenter des interfaces utilisateur responsives. Il est proactif dans l'identification des goulets d'étranglement de performance et l'optimisation pour différentes plateformes (PC, mobile, consoles). Basé sur la documentation SKILL.md, cette compétence fournit des conseils pratiques, des exemples de code et des stratégies de débogage pour les développeurs Unity de tous niveaux.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/rmyndharis/antigravity-skills/tree/main/skills/unity-developer

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait unity-developer ?

Créez des jeux Unity avec des scripts C# optimisés, un rendu efficace et une gestion appropriée des ressources. Maîtrise les pipelines Unity 6 LTS, URP/HDRP et le déploiement cross-plateforme. Prend en charge les systèmes de gameplay, l'implémentation de l'interface utilisateur et l'optimisation des plateformes. À utiliser PROACTIVEMENT pour les problèmes de performance Unity, les mécaniques de jeu ou les builds cross-plateforme.

Utilisation proactive

Activez cette compétence dès que vous travaillez sur un projet Unity, en particulier lorsque vous :

  • Rencontrez des problèmes de performance : baisse de fps, temps de chargement longs, ou utilisation excessive de mémoire.
  • Concevez des mécaniques de jeu : systèmes de combat, IA ennemie, objets de collection, ou animations procédurales.
  • Implémentez une interface utilisateur : menus, HUD, popups, ou éléments UI animés.
  • Déployez sur plusieurs plateformes : PC, mobile, consoles, ou WebGL.
  • Gérez les ressources : optimisation des textures, modèles 3D, sons, ou builds d'asset bundles.

Fonctionnalités

  • Scripts C# optimisés : Évitez les allocations mémoire inutiles, utilisez des pools d'objets et profitez de l'API moderne de Unity (Job System, Burst Compiler).
  • Rendu efficace : Configurez les pipelines URP/HDRP pour des performances maximales, utilisez le culling et les LOD.
  • Gestion des ressources : Organisez vos assets avec Addressables, et optimisez les textures avec TextureImporter.
  • Déploiement cross-plateforme : Adaptez les contrôles, les résolutions d'écran et les performances pour chaque plateforme cible.

Exemple d'utilisation

// Exemple : Pool d'objets optimisé pour Unity 6
using UnityEngine;
using UnityEngine.Pool;

public class BulletPool : MonoBehaviour
{
    public GameObject bulletPrefab;
    private ObjectPool<GameObject> pool;

    void Start()
    {
        pool = new ObjectPool<GameObject>(
            createFunc: () => Instantiate(bulletPrefab),
            actionOnGet: (obj) => obj.SetActive(true),
            actionOnRelease: (obj) => obj.SetActive(false),
            actionOnDestroy: (obj) => Destroy(obj),
            collectionCheck: false,
            defaultCapacity: 10,
            maxSize: 50
        );
    }

    public GameObject GetBullet()
    {
        return pool.Get();
    }

    public void ReleaseBullet(GameObject bullet)
    {
        pool.Release(bullet);
    }
}

Configuration URP/HDRP

Pour optimiser les performances avec URP :

# Settings dans Project Settings > Graphics > URP Asset
- Render Scale: 1.0 (ajuster pour mobile : 0.75)
- Shadow Resolution: 2048 (réduire à 1024 pour mobile)
- MSAA: 2x (désactiver sur mobile)
- Post Processing: Activer si nécessaire

Pour HDRP :

# Settings dans Project Settings > Graphics > HDRP Asset
- Frame Settings: Désactiver les effets superflus (Depth of Field, Motion Blur)
- Shadows: Utiliser des shadow maps dynamiques avec une résolution réduite
- Volumetrics: Limiter à un brouillard simple

Gestion des assets avec Addressables

// Exemple : Utilisation d'Addressables pour charger des assets
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;

public class AssetLoader : MonoBehaviour
{
    public AssetReference modelReference;

    void Start()
    {
        AsyncOperationHandle<GameObject> handle = Addressables.LoadAssetAsync<GameObject>(modelReference);
        handle.Completed += (op) =>
        {
            Instantiate(op.Result, transform);
        };
    }

    void OnDestroy()
    {
        Addressables.Release(handle);
    }
}

Commandes CLI recommandées

# Nettoyer le cache Unity
./Unity -quit -batchmode -logFile stdout.log -projectPath . -cleanCache

# Build pour Android
./Unity -quit -batchmode -logFile stdout.log -projectPath . -buildTarget Android -executeMethod BuildScript.BuildAndroid

Problèmes courants et solutions

ProblèmeSolution
FPS bas sur mobileRéduire le render scale, désactiver les ombres dynamiques, utiliser des LOD
Temps de chargement longsUtiliser Addressables et le chargement asynchrone
Erreurs de build cross-plateformeVérifier les symboles de compilation conditionnelle (#if UNITY_ANDROID)
Mémoire insuffisanteUtiliser des pools d'objets et désactiver les assets inutilisés

Notes supplémentaires

  • Cette compétence est conçue pour Unity 6 LTS ; les versions antérieures peuvent nécessiter des ajustements.
  • Pour les projets utilisant des packages externes, assurez-vous qu'ils sont compatibles avec la version de Unity utilisée.
  • Activez toujours le Profiler durant le développement pour identifier les goulets d'étranglement.

Skills associés