[WIP] Spell Casting System

Dear Community,

I am working on a spell casting system that is intended for the marketplace, and I wanted to get peoples opinions on what they want the system to do.

At the moment my spell system consists of:
Spell Inventory within MyCharacter blueprint
Spell Base class

Spells are based on the Spell Base class and each spell is a flying projectile which has:
Flight Speed
lifespan (how long does it fly for before it dissapears)
power attribute
Mana Cost
Cast Time
and spell type (at the moment healing or damage)

Mesh component (to represent the projectile)
Particle Effects Component (also to represent the projectile. so for example the mesh could be ball of fire, and the particle could be smoke)
Collision Sphere(the sphere to handle the spell collision detection)
Sound Effect(starts playing when casting starts and plays until the spell ‘dies’ (collides or its lifespan reaches 0)

Collision Particle Effect
Collision Sound Effect

Player can select active spell using mouse wheel and cast a spell using left click.

I plan on making two separate systems… one for top down view and one for first/third person.

there will be videos coming up soon.

let me know what you think, what would you like to see and so on.

I think you should separate 2 more classes from SpellBase, to make spells with a projectile, and spells that don not spawns a projectile

But the idea sounds good, will it be free?

No it won’t be free, but it will be fairly cheap, thou depends on how much time it takes to complete.
Also with regards to having a spell type that doesnt spawn a projectile, you can just not specify a projectile with the current class and it won’t spawn one.
Also I’m currently working on adding spell cooldowns

Progress regarding the spell system.
As of now I managed to separate the entire spell system from the character blueprint into its own blueprint (you will just have to reference it to add it to your character/monster). you can now specify custom animation to play during cast of each spell, and spells have a cooldown.

this is just creating a new project using the top down template (this system also works with the first and third person templates). and adding the system to a character bp. without changing anything what so ever, and using the tutorial spell.

this is all that needs to be done to add the spell system to a character and add the default spell to characters spell book:

and here is a vid using the top down template