Alkiren Games

Professional Unity Architecture Tools

View the Project on GitHub jarkof/Alkiren-Games

← Back to Main Portfolio

Unity C# Architecture

Data-Driven Ability System

The Command & Strategy Framework for Unity.

Stop hardcoding spells and combat logic. This system decouples Logic (C#) from Data (ScriptableObjects), allowing designers to assemble complex abilities—like Fireballs, AoE Explosions, and Status Effects—entirely in the Inspector.

Ability System Card

Key Features

Code Preview

// 1. The Strategy (The Logic)
public class SpawnProjectileEffect : IAbilityEffect
{
    public void Apply(AbilityContext context)
    {
        // Decoupled logic: Spawns prefab and passes data context
        var projectile = Object.Instantiate(_prefab, context.Caster.Transform.position, rotation);
        projectile.Initialize(context.TargetLocation, _damagePayload);
    }
}

// 2. The Configuration (The Data)
[CreateAssetMenu(menuName = "Alkiren/Abilities/New Fireball")]
public class AbilityConfig : ScriptableObject
{
    public CooldownStrategy Cooldown; // e.g., 2 Seconds
    public TargetingStrategy Targeting; // e.g., Raycast 50m
    public List<EffectConfig> Effects;  // e.g., SpawnProjectile -> Explosion -> Damage
}

📧 Contact & Support

For bug reports, feature requests, or documentation questions:

Email: alkiren44@gmail.com