website templates

Quick Tutorial >

From empty project to fully decorated scenario in 6 mins.

In this video:
Basic usage of components
& Sample results


Bezier Spline

The base of every design.

- Easy and comfortable UI
- Quick edition mode
- Preview for points creation
- Multiple point manipulation
- Switch between rects and curves 

Creating Points:
Just click on the scene. The guide lines show you how the new point will connect to the spline.



Once you define your terrain material, you can use it on your spline with the Terrain2D component.

You control the spline exactly as before, but now it creates physics and morphs textures around it.

- Color Tint the terrain in this shape.
- Adds Order in Layer to control whats visible



Instantiate Any Asset along the Spline
Use any Sprite, Prefab, GameObject, Asset, Lights, Cameras, Animations, physics objects, etc

Once you define your decoration material, you can use it on your spline.
You control the spline exactly as before, but now it creates asset around it.

- Randomize the decorations positions and order (if material allows)
- Color Tint to every instantiated object
- Select the material to render the instantiated objects
- Adds Order in Layer to control whats visible



Simulate Fluids on Splines.
Create all kind of fluid appearences: Small ripples, big ripples, jelly, bouncy, semi-solid, etc.

- Independent Surface visuals from Physics forces
- Compatible with Effectors 
- Toggle Physics forces to work towards spline's direction
- Use texture and material of your choice
- Works on rect lines, curves, circles
- Toggles for ripples OnEnter & OnExit

Terrain2D Material

Drag the textures you want to use as the base of your terrains.

Ensure the texture has a Repeat Wrap mode in its properties.

You can set sprites that overlap the material where different segments connect.

Each corner sprite can have and offset (x,y) to fit exactly the position you want.

Use corners as a normal Sprite or as a Mesh using the same materials and shaders than the rest of the terrain.

Creates a PolygonCollider2D on the spline
Adds a EdgeCollider2D around the spline

* Special colliders per Segment:
Each segment  can define its own EdgeCollider2D, with individual settings ( materials, readius, is trigger, used by effector)
So walls can have different collisions than ground, for example.

- Size of sprites,
- Offset to match the visuals with the physics
- Select the material/shader to use

* Layers and Order in Layer:
Controls what is in front of what on your art:
   - per segment ( ground, wall, ceiling, fill, corners)


Decoration Material

Its a selection of Decoration Groups.

Each group contains a list of assets and a few rules that controls how each asset in the group will be instantiated. 

The groups can be shared between decoration materials.
Like this you can just drag a presets of groups and quickly combine into new materials in seconds.

- Having group of 5 Coins can be very practical
- A group of Clouds can be reused in a material with City style and also in a material for Forest style

Any asset in your project, prefabs, Lights, Cameras, terrains2d.

... Basically anything you want.

Each group you create can define its own properties:

As a group:
- Amount of created assets
- Distribution pf created assets ( randomized, distributed, one after each other)
- Order of appeareance
- Scales of assets (or range of scales)
- How far from the Spline each object is
- Sorting Layer and Order in Layer

extra control per element:
- scale (or range of scales)
- extra offset
- tint color
- rotation limits
- enable/disable random flip horizontally

Time Saving:
When you update the material, every Spline in scene using the material also gets updated.

This allows you to instantly add, replace or delete all the objects in the scene in a single place, at the same time.

Updated Assets:
This ensures your scenario always have updated assets.
Forget updating manually one by one, or prefabs with old values. ALL the assets in your scene can be updated at the same time.

Faster iterations:
Now you can try tons of combinations much faster having total control of it, withouth coding.

Decoration Material

Terrain2D Architectures

It defines the angles for what is GROUND and what is WALL and CEILING.
By changing this rules of angles, it modifies how Terrains and Decorators applies to the spline

 (Therefore also physics and Colliders/Triggers and instantiated assets)

Even doe is not necesary, there could be multiple reasons:

1) To adapt the physics and art to the project.
It ensures all your art and physics in t he project is used exactly  the way you want.

2) To enhace an homogeneous architecture in your game , enhancing a consistant visual style.
- Any surface with an angle higher than > 70° is considered a wall.

3) To create different output from existant materials. 
This is a great use, btw, if you have a material and want something similar but slightly different, creating architectures is an easy and smart solution.

- everything is ground
- use same style, but do not create anything on walls
- I want the walls to behave like grounds

Ground Angle:
0- 90 degrees: the maximum steep for a Ground before is considered a wall.

Ceiling Angle:
0- 90 degrees: the maximum steep for a ceiling before is considered a wall

Segment replacement:
Use any kind of segment (or none) instead of another.

The Architecture Angle can be shared on any spline in the project, providing all the control you need in a single place.
You dont need to define it multiple times, just select it and is done.

Up to date Scenes:
When you update the values, every Spline in scene using the architecture also gets updated.

Faster iterations:
Now you can tweak your levels super fast, with great control and test it on real time,

Ready for changes:
Traditionally, if you want to change your scene, you end up modifying each piece of scenario one by one.
Using Architecture angles, just select a new architecture and it does all the job in a second.

Terrain2D Architectures

Extending the Code

Create your own Spline Components:
The class SplineModifierWithCallbacks is a component linked to the Spline.
It receives callbacks whenever there is a change in the Spline in two ways:

   - ImmediateCallback()
   - OnUpdateCallback()

Both methods will be called whenever there is a change in the spline.
Use ImmediateCallback() to set values, and use OnUpdateCallback() when you need to change the scene hierarchy, like adding or deleting gameObjects.

All you need to do is override any of these 2 functions to start your own SplineModifier.