Tilemap Extras preview package is now available

Tilemap Extras preview package

We are making a selection of tools from the 2D Extras GitHub repo available via Package Manager. This will allow users to have easier access to these tools without having to go through GitHub.

Thank you to everyone who has contributed to the repository over the years. Please continue to let us know about your project and workflow needs and we will endeavour to make Tilemap Extras an even better tool for developing 2D games in Unity!

What’s in the package?

Tiles

  • Animated: Animated Tiles are tiles which run through and display a list of sprites in sequence.
  • RuleTile: Generic visual tile for creating different tilesets like terrain, pipeline, random or animated tiles.
  • Isometric Rule Tile: A Rule Tile for use with Isometric Grids.
  • Hexagonal Rule Tile: A Rule Tile for use with Hexagonal Grids. Enable Flat Top for Flat Top Hexagonal Grids and disable for Pointed Top Hexagonal Grids.
  • Rule Override Tile: Rule Override Tiles are Tiles which can override a subset of Rules for a given Rule Tile to provide specialised behaviour while keeping most of the Rules originally set in the Rule Tile.
  • Advanced Rule Override Tile

Brushes

  • Group: This Brush helps to pick Tiles which are grouped together by position. Gaps can be set to identify if Tiles belong to a Group. Limits can be set to ensure that an over-sized Group will not be picked. Use this as an example to create brushes that have the ability to choose and pick whichever Tiles it is interested in.
  • Line: This Brush helps draw lines of Tiles onto a Tilemap. The first click of the mouse sets the starting point of the line and the second click sets the ending point of the line and draws the lines of Tiles. Use this as an example to modify brush painting behaviour to make painting quicker with less actions.
  • Random: This Brush helps to place random Tiles onto a Tilemap. Use this as an example to create brushes which store specific data per brush and to make brushes which randomise behaviour.
  • GameObject: This Brush instances, places and manipulates GameObjects onto the scene. Use this as an example to create brushes which targets objects other than tiles for manipulation.

Scripts

  • CustomRuleTileScript: This helps to create new custom Rules for the Rule Tile.

Samples

  • Waterfall Animated Sample: An example implementation of an Animated Tile.
  • Pipe Rule Tile: An example of a Rule Tile with rules matching four-way orthogonal neighbours.
  • Dungeon Rule Tile: An example of a Rule Tile with rules matching eight-way orthogonal and diagonal neighbours.

Getting Started

What you can do
We would like your feedback on how these tilemap extras contribute to your projects. Do let us know what works well, what could be improved and what is missing.

3 Likes

At last! I’ve been using it for months, it’s a collection of great tools.

2 Likes

That’s good news, but why is it still marked as preview? I don’t see anything holding this back from a full release, and I actually think that all of these should come included with Tilemap directly.

2 Likes

Hi, I have a problem with my camera. I cant see my scene. can you help me ?

The z-position is set to 0, so it’s on the same plane as the tilemap. Pull it back to -10 or so.

Any good way to make rule tiles interact with other tiles in a good way?

Here’s two 3x3 rule tile squares next to each other:

In the game, we don’t want that kind of edges when we go from one tileset to the next one. We’d either want to do this (which I now made with normal tiles):

6325014--701448--upload_2020-9-18_14-23-4.png

Or, preferably, to be able to set up rule tiles for how the edge between two rule tilesets work.

We could of course extend the rule tiles on our own to add support for this kind of stuff, or buy an asset, but I’m wondering if this is the kind of thing that’s on the roadmap to be added.

4 Likes

I think Sprite Shape does a lot of similar things to what you’re asking Baste, but yes i would love a slightly simpler way of merging tiles rather than creating 16 variations for each (and sometimes more)

Unfortunately, you would need to extend the functionality of the Rule Tile. This can be done by using the Custom Rule Tile script from johnsoncodehk. I have added an example of this at 2d-techdemos, specifically https://github.com/Unity-Technologies/2d-techdemos/tree/master/Assets/Tilemap/Rule%20Tiles/Custom%20Rule%20Tile. Let us know if that works out!

1 Like

This is part of our release process where packages start off in preview before being released as verified. They are separate from the Tilemap Editor release as users may cherry pick the items they are only using from the package if they prefer to.

1 Like

Is there a way to reuse the rules for other rule tiles?

Assuming we have multiple tilesheets that are laid out and sliced the same, the sprites would be named with the same schema (name_0, name_1,… name-n) so my first idea was to create a copy of the first rule tile that I created and just find and replace the “name” part for the new sprites. Unfortunately, it doesn’t use simple names (for obvious good reasons).

I really appreciate the rule tile system, and it’s one of the better ones in a lot of ways, but it isn’t scalable in this one area. The way the rules are created, and the fact that those rules don’t appear to be reusable components makes it a tedious process to setup. My tilesheet isn’t the simplest, but it isn’t the most complex by far. I have 33 tilesheets with 47 sprites/tiles each. To get everything setup, I would have to create 33 auto tile assets and then individually setup 1,551 rules. And that is just for the ground tiles, with no animations or random tiles.

Edit: I just noticed that we can copy and paste rules. That’s a huge help.

Ultimately, it would be great if the rules could be a component that we add to a texture. The component could define the regions (tiles), and the auto-tiling rules. That would allow those components to be reused across tilesheets with the same layout. It would also make it easier to code the option to have different tiles autotile together, I would imagine.

Just my opinions, having never written a single line of Unity extension code, so for what it’s worth.

1 Like

Thank you for your suggestion! This sounds like something we can consider implementing.

1 Like

Hi!

We’ve been using version 1.1.0 of Tilemap Extras from the github repo since forever. Trying to update to the latest version (1.6.2 for 2020.1) breaks all of our RuleOverrideTiles - they become invisible. It seems like some extra data was added to the class (in particular, an extra copy of the original tile), and if that data isn’t there, all methods just return nothing.

Is this a known issue? Got any hint about how to fix it? We didn’t really want to update, but I want to know if updating fixes some of our override tiles doing this:

6589105--748654--TaGCa7slSQ.gif

We want all of our edge-tiles to have an negative collider offset. Doing this manually is a lot of work, and without guides or a field to insert numeric values leads to a tons of un-aligned colliders. Am I missing a workflow or tool? Or is this perhaps something to add to this package?

https://cdn.discordapp.com/attachments/497872424281440267/784854549302345779/coll.mp4

Hello, I have a problem with Hexagonal Rule Tiles.
Unity version 2019.4.15f1, I downloaded 2D Tilemap Extras from Package Manager and I have 1.5.1-preview version.

Grid’s Cell Swizzle XYZ (default value from flat top menu selection)
Tilemap’s Orientation XY (default value)
Specific Hexagonal Rule Tile flat top checked (it’s hidden in the screen but it’s checked)
I want to make cells with thick borders, like civ games, but the rules invert sprites vertically.

6596455--749926--Screen2.png

I could manually mirror the rules, but it’s an annoying bug I want to solve.

I believe the functionality of the original RuleOverrideTile has been split to RuleOverrideTile and AdvancedRuleOverrideTile, which may cause issues for you.

If you could file a bug using the Unity Bug Reporter with your original RuleOverrideTile, we can check out this issue better, thanks!

This looks like something we could improve with the Custom Physics Shape editor to help align the shapes across multiple Sprites. We will look into this, thanks!

We will check out this issue. If you could share the full rule set of this Rule Tile, that would help us ensure that all the cases are covered!

Adding buttons for more advanced functions such as rotate / flip / mirror tiles in the tile palette would be nice. All the actions you have at your disposal should be easily found and used from that window.

2 Likes

This?

6603442--751150--Screen.png

Thanks for your feedback, we will take a look into this.

@suxiangting