Over 11,000 five-star assets

Rated by 85,000+ customers

Supported by 100,000+ forum members

Every asset moderated by Unity

Home
Tools
Utilities
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
1/12
loading
loading
SPAM is a high performance ability- and projectile framework that saves you time by handling the "how" of your abilities and projectiles so you can focus on the "what" of your game.
Render pipeline compatibility
The Built-in Render Pipeline is Unity’s default render pipeline. It is a general-purpose render pipeline that has limited options for customization. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize, and lets you create optimized graphics across a wide range of platforms. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.
Unity VersionBuilt-inURPHDRP
2020.3.48f1
Compatible
Compatible
Compatible
Additional compatibility information

Demo game is made with Universal RP. Sample settings are included.

Description

Discord | Documentation | Forum | Changelog


Addons & integrations


What's And How's?

  • How do I spawn a projectile and make it move towards a given target?
  • How do I make this spell damage the enemy?
  • How do I pool projectiles and VFX to make my game more performant?
  • How do I add cooldowns, animations and sounds to abilities?
  • How do I make an ability only affect targets that are stunned?
  • How do I apply and trigger damage/healing over time?
  • How can I make my lightning spells do extra damage when it rains?
  • How do I setup different ability levels, so they can grow stronger when my character levels up?
  • How can I let the player upgrade abilities so they change behaviour and/or become stronger?

All of these technical details and more are solved for you. This saves you time by allowing you to focus on what you game should be instead of how you implement and optimize abilities and projectiles.

SPAM supplies the logic for spawning, moving, and pooling all your abilities, projectile and VFX so you can focus on the what's of your game:


  • What happens when a target takes damage?
  • What happens when I kill an enemy?
  • What happens when I stun a character?

SPAM is also easy to integrate with any current systems you have as the code is interface-based and works in an "opt-in" fashion.



Features


Abilitities and projectiles system:

  • Projectile abilities such as bullets, rockets, and fireball...
  • Targeted abilities such as heal, shield, lightning strike...
  • Directional abilities such as shotgun, ground-slam, fire-breath...
  • Raycast abilities (beams, gunshots...)
  • Ability ranks. Make your abilities stronger (or why not weaker?) when your character levels up or gets an upgrade.
  • Arched projectile movement, customisable with animation curves for easy editing.
  • Easily add variation to projectile abilities by setting min/max values for arched movement, speed, and spawn time. SPAM will use a random value in this range every cast.
  • Multiple projectiles per cast.
  • Zero garbage after initialization.
  • Area of effect and inter-area line-of-sight check (don't want to get hit through a wall, do you?)
  • Wedge and circle telegraph/indicator with in-editor previews.
  • Automatic and configurable pooling of VFX and projectiles.
  • Event-driven for loose coupling (optional, can be toggled off)
  • Clean code interface: Just call Ability.Cast(direction) or Ability.Cast(target).
  • In-editor documentation and validation.
  • Easy to use custom editors and windows. Add an ability to a character with just the click of a button!

Conditions system:

  • Apply status effects such as stun, burn, shield.
  • Apply and damage & healing over time.
  • Pre-conditions: Only apply effects when target has a certain condition (if wet add frozen. If target is undead apply extra damage).
  • Emergent gameplay: Let the world add and remove conditions to targets and characters and design how your abilities behave under different circumstances.
  • Apply buffs/debuffs from abilities, world, equipment.

Additional features:

  • Simple procedual shatter component: Shatter any mesh procedually!
  • Force shield shader.
  • Mask cutout shader (used for indicators / telegraphs).
  • Example UI-prefabs for cast time and ability slot with cooldown indicator.
  • Indicators / telegraphs can be set to show "time to cast", filling them up during the ability's cast time.


Extendable & Pluggable

SPAM is built to be extendable and you can easily add effects that aren't supplied in the base framework. Derive your custom effect from the effect base class and the framework will automatically pick it up and let you add the effect to your abilities.

Effects are applied by checking for an interface at their target, so you can easily use this framework side-by-side of your existing solution. All you have to do is to make sure the target has a component that implements the given interface the effect is trying to apply and you're good to go.


Examples of some built-in effects:

  • Damage
  • Heal
  • Add explosion force
  • Pull towards
  • Shield
  • Teleport
  • Stun
  • Shatter (procedual shatter behaviour supplied)
  • Buff/Debuff
  • Add/Remove condition


High Performance & Zero Garbage Policy

The framework is meant to be highly performant and optimized so you can focus on your game instead of digging through the profiler. The only garbage allowed from the framework is during startup and initialization. This means that as soon as your ability is ready it's garbage free to cast (spam) again and again and again.

All components turn themselves off/on depending on their internal state so there's no unnessecary update loops running during gameplay.



Planned features

These features are not yet in the framework but will be added as they're ready. Let us know if any of these are of special interest to you!

If you've purchased the asset these features (and possibly other not mentioned here) will come as a free update:

  • Channeled abilities (meteor shower, circle of healing...)
  • Arched physics projectile movement (grenade)
  • Modifiers (changes that only apply to a specific instance of an ability or a specific caster)
  • Resources system: A system that handles ability cost (mana, stamina, health, limbs, ammo...)
  • Delayed trigger abilities (click to cast in direction or at position, click again to trigger).
  • Trap abilities.
  • Advanced area of effect features like multiple smaller strikes in a bigger area like lightning storm or artillery rain.
  • Effect area and telegraph for a box/line, and advanced use-cases as multiple boxes in different directions.
  • More built-in ability effects (split projectile, dash)
  • Improved editors with even more custom-tailored components.

Note that this list is subject to change, and some might incur breaking changes to the frameworks API. If this is the case it will be detailed in the releasenotes and by a major version bump.

SPAM - Spell, Projectile, Ability, Magic Framework

(19)
134 users have favourite this asset
(134)
$30
Seat
1
Updated price and taxes/VAT calculated at checkout
Refund policy
This asset is covered by the Unity Asset Store Refund Policy. Please see section 2.9.3 of the EULA for details.
Secure checkout:
Supported payment methods: Visa, Mastercard, Maestro, Paypal, Amex
License type
File size
2.2 MB
Latest version
3.0.1
Latest release date
Oct 8, 2024
Original Unity version
2020.3.48
Support
Visit site
Quality assets
Over 11,000 five-star assets
Trusted
Rated by 85,000+ customers
Community support
Supported by 100,000+ forum members
Unity logo
Language
Feedback
Partners Program
Partners
USD
EUR
Copyright © 2025 Unity Technologies
All prices are exclusive of tax
USD
EUR
SPAM - Spell, Projectile, Ability, Magic Framework
$30