Note
Assets are not included!
Welcome to the Modular Platform Asset Pack! This toolkit is built on a highly scalable, component-based architecture designed for Godot 4. It allows level designers to create complex, interactive, and hazardous platforms without writing a single line of code.
Every platform in this pack inherits from a core @abstract tool script (Platform). This means all sizing, hazard logic, and tiling happen automatically in the editor.
Do not scale nodes manually in the 2D viewport! Always use the Texture Width and Texture Height sliders in the inspector. The script handles the rest safely.
The standard workhorse. Use this for walls, floors, and static floating platforms. It relies entirely on the base class, making it extremely cheap on physics performance.
A fragile platform that crumbles shortly after a physics body stands on it.
- Break Time: The delay (in seconds) before the platform vanishes or plays its breaking animation.
- Area / Area Collision Shape: Automatically resizes and positions itself on top of the physical platform to detect players.
A platform that patrols along a Path2D node using Godot's safe AnimatableBody2D physics.
To create it, first create an AnimatableBody2D in the tree and just attach the code, otherwise it will be buggy.
- Path: Must be assigned in the inspector. Draw your path in the editor, and the platform will follow it seamlessly.
- Speed: Constant movement speed for linear platforms.
- Acceleration (acc_): Overrides constant speed to provide smooth, sine-wave easing between path points. Includes customizable travel and wait times.
- Texture: Assign a
Sprite2Dtexture or anAnimatedSprite2DSpriteFrames resource. - Width / Height: Drag these sliders to automatically tile standard sprites and perfectly size the collision boxes without warping pixels.
- Enable One Way Collision to let players jump up through the bottom of the platform.
- Choose a cardinal direction (
NORTH,WEST,SOUTH,EAST) or enable Circle to set a custom, precise angle. Hitbox dimensions automatically swap to prevent distortion when rotated.
Turn any platform into a deadly trap by checking Is Attacking.
- Auto-Size Attack: Uncheck this if you want to manually build a custom-shaped hazard. Leave it checked to let the script mathematically align and perfectly fit the hazard to the platform's edges.
- Direction / Reach: Position the hazard on any side of the platform, or orbit it precisely using the Circle settings.
- Timers (Activate / Active): Create pulsing traps (e.g., spikes that pop in and out) by setting the active and rest durations.
This pack includes a completely decoupled damage system. You can drop these onto platforms, enemies, or destructible crates with zero coding required!
HealthComponent: Add this to any node that can die. Handles max health, current health, and death behaviors (Destroy Node, Restart Scene, or spawn an item).HurtBox: Add this as anArea2Dchild to a node. Link it to aHealthComponentin the inspector. It securely receives damage.HitBox: Add this as anArea2Dchild to deal damage. Export your desireddamageamount in the inspector. When it overlaps aHurtBox, damage is dealt instantly.
(Lever & PhysicalButton): Puzzle elements designed to trigger events. The lever features smooth animation toggling, while the physical button uses tween-driven physics to physically compress when stepped on by a player or object.
You can find a full documentation here
You are all welcome to contribute!
It will be a great help if you follow what I ask of you in CONTRIBUTING.md











