
Smart Surfaces
A downloadable asset pack
Add interesting surfaces without replacing your player controller
Smart Surfaces is a collection of reusable 2D environmental effects for Godot.
I wanted a way to add things like ice, mud, conveyors or wind without making the surface system responsible for the entire player controller.
So Smart Surfaces does the opposite: it exposes the gameplay effect, and your existing movement code stays in control.
9 surface effects
- Ice
- Mud
- Conveyor
- Bounce
- Speed Boost
- Slow
- Sticky
- Force / Wind
- Damage
Keep the controller you already use
Add AsagoSurfaceReceiver2D to your character and Smart Surfaces exposes the active modifiers for your own movement code to use.
Available effects include:
- Movement speed
- Acceleration
- Deceleration
- Gravity
- Jump strength
- Air and ground control
- Conveyor velocity
- External forces
You decide exactly where those values fit into your controller.
Stack multiple surfaces
Overlapping effects are supported.
Use Multiply mode to combine compatible effects, or Highest Priority mode when one surface should override the others.
Each surface also has an Effect Strength value, so you can quickly make weaker or stronger variations without rebuilding the configuration.
Flexible level geometry
A surface can manage its own rectangular collision, or you can keep an existing CollisionShape2D.
That makes it easier to fit gameplay effects around actual level geometry instead of forcing everything into rectangles.
Direct effects where it makes sense
Bounce can affect compatible CharacterBody2D velocity directly.
Damage surfaces support Signal Only, Fixed Damage, Percentage Damage and Kill modes.
Bring your own visuals
Surface behavior is independent from presentation.
Use the built-in visual while prototyping, then replace it with your own texture or animated SpriteFrames whenever you are ready.
Optional sounds and VFX can also be assigned from the Inspector.
Reusable Surface Profiles
Create reusable Resources for common setups such as:
- Slippery Ice
- Heavy Mud
- Fast Conveyor
- Strong Wind
Profiles are optional. Local configuration remains fully supported.
Designed to fail safely
If a body enters a surface without a compatible receiver, Smart Surfaces handles it cleanly instead of crashing or forcing unexpected behavior.
Included
- Complete Smart Surfaces addon
- 9 surface behaviors
- Surface Receiver component
- Stacking and priority system
- Flexible CollisionShape2D support
- Reusable Surface Profiles
- Custom static and animated visuals
- Audio and VFX hooks
- Full GDScript source
- Documentation and integration examples
Compatibility
Godot 4.7+
Developed and tested with Godot 4.7.2 stable.
2D only.
Source included
The complete GDScript source is included, so the system can be adapted to your own movement architecture.
License
Commercial use is allowed in your own games and applications.
Redistribution or resale of the addon itself as a standalone product, template, toolkit or competing asset is not permitted.
Purchase
In order to download this asset pack you must purchase it at or above the minimum price of $1.99 USD. You will get access to the following files:
Development log
- Smart Surfaces 1.0.0 is now available23 hours ago



Leave a comment
Log in with itch.io to leave a comment.