Tile palette bug

Hello,
is happening that after a while that im using the palette for tilemap:

all tiles screwed up, i updated to this version:
7956300--1019388--upload_2022-3-11_10-26-40.png

any help?

Heya so I tried to create a Tilemap project in 20.3 using the Built-in renderer then upgrade it to 21.2 URP but the materials/Tiles upgrade fine. So I’m guessing the pink Tiles you see are Tiles whose Tile assets no longer exist. (Or maybe you could share a bit more on what happened before you got the pink Tiles?)

When you see pink in Unity, it generally means there are broken references. The Tile Assets may have been deleted when textures are dragged over them. When that happens, the Tile Palette recreates new Tile assets.

Solution 1:
The easiest fix is to drag in the same Tileset into your Platform Palette to re-add the Tiles. Once that’s done, you can then erase all the Pink Tiles.

Don’t worry though because the Tiles you painted in your Tilemap should still be there even after you erased your pink Tiles in your Tile Palette.

8018366--1032467--Edit Tile Palatte.png

Small note: To erase Tiles in your Tile Palette, you need to be in Edit Mode. (Remember to exit Edit Mode when you done erasing so as to avoid accidental editing/moving of Tiles when painting.)


Solution 2:
Another fix which is less drastic (but more cumbersome) is to update the Tile Asset Sprite references.

  1. You can do so by selecting any one of your Pink Tiles in your Tile Palette and right-click anywhere in the empty area to open up the Tile Palette context menu.

  2. Click Select Tile Asset to ping the exact Tile Asset in your Project window.

8018366--1032461--Tile Palette - Select Tile Asset.png

  1. Then go to your Tile Asset Inspector to update the Sprite reference.

8018366--1032464--Tile Asset Inspector.png

That should do the trick.

There’s also a similar thread here where other users faced a similar issue and how they went about solving this. Check it out if you are curious.

1 Like

On a separate note, I am using the gameobject brush and I am getting pink preview textures in the palette Preview Scene that is shown in the inspector.
However, I found out that this is because I am using URP render pipeline.
The tool works, but I cannot tell what I am selecting in the palette unless I paint it in the scene first.

Is there a planned fix for this? I would like to use this tool but these pink textures in the palette preview hinder the usefulness of this tool…

Hey @TenaciousDan , thanks for raising this!

May I clarify the material for the cubes/spheres? Are they using the default Universal Render Pipeline/Lit material? Also, which Editor version are you on?

I tried to repro the steps using the default URP Lit material (using the URP Renderer) and got the pink preview textures too. However, like you mentioned, the GameObjects get painted in the Scene fine using the GameObject Brush just that the URP material doesn’t quite show up in the Tile Palette which can really tricky when picking them.

Let me check with the team if this is a known issue and if there’s already a fix planned. Thanks!

Hey thanks! One of the developers just got back to me. Yeah, it does sound like it could be a bug. The Tile Palette window has a separate Scene, which does not have the same URP setup as the current Scene.

If you would be so kind to send us a bug report and share your bug ID here in this thread, we might be able to help expedite your case a little by assigning it straight to the relevant developer. Thanks again for catching this!

@suxiangting Thanks for the reply!

In the end, my team required some other features that the tool did not provide so we built our own tool instead :slight_smile: . I was looking at this tool when researching possible options and came across this bug.

Regardless, I submitted the bug report. Cheers!

1 Like

Thanks a lot, @TenaciousDan !

Nice, now I’m curious! Would you be able to share what were some of these missing features? Perhaps it’s something other studios need as well and possibly features we could look into supporting too.

We needed a tool to create a ā€œblocky-styleā€ map very quickly. We wanted to be able to essentially use the Tilemap package but in 3D. So we’d create the building blocks in 3D and we wanted to be able to paint and erase the objects in 3D.
Some of the features we were looking for included:

  • The ability to create some blocks with rules (similar to the ruleset tiles used in the Tilemap package but in 3D instead). So that painting would automatically place the correct prefab blocks based on the surrounding blocks, this is one of the bigger features that was missing.
  • The gameobjects in the palette are shown with a fixed camera angle (I think it’s looking down the z axis as it was built for use with 2D mostly) and this angle cannot be adjusted. This kinda limits how you see certain blocks (example: two ā€œwallā€ blocks that look identical from one side but one of them has vines that’s facing away from the palette scene camera angle).
  • The ability to reference placed game objects by (grid cell position + layer) at runtime.
  • The ability to merge the meshes of game objects instantiated using this brush that use similar materials to improve runtime performance (reduce draw calls).

There are some asset store packages which do some of the features listed above. Ultimately, we decided to create our own tool which works nicely at the moment :slight_smile: . We don’t have a scene view for the palettes yet though, instead we have a list of image previews which we used AssetPreview API for. So for now there is still the issue of viewing angle when viewing the prefab in our palette view but we are managing without it for now.

1 Like

I would like to chime in with my findings since I’m having more or less the same problem and this is the only applicable post I’ve found on the matter. I am also using the gameobject brush for my tiles and I’m getting the pink treatment. I’m using URP 12.1.8 and Unity 2021.3.16f1 at the moment.


In the Tile Palette window (shown on the right) I get pink tiles but if I open the tile palette prefab (shown on the left) it all shows up as intended.

8731752--1181715--material sprite lit default.jpg
The 2 first chunks of objects have the Sprite-Lit-Default material with the Sprite-Lit-Default shader which seems to work fine. The 3rd chunk has a custom material i created with a ā€˜Sprite Lit Shader Graph’ as the shader which turns pink in the tile palette window.

8731752--1181718--graph inspector.jpg
If I go into said shader graph and change the material from ā€˜Sprite Lit’ (or any of them really since all of them turn out pink or wrong in some other way) to ā€˜Unlit’ they actually show up like normal in the Tile Palette window BUT the alpha channel in the shader gets disabled so it’s not useful for me since I need that.


However if I add the Built-In renderer to the list of active targets and set the material for that to ā€˜Unlit’ while keeping the Universal material as ā€˜Sprite Lit’, everything shows up fine in the Tile Palette window. And since my project settings targets URP the alpha channel works as intended in Scene View and in the game.


It’s not really the most desirable behaviour but I’ve been banging my head against the wall about this issue for a while now and at least in my case this is a usable workaround until it hopefully gets fixed later on.

What @suxiangting said about the Tile Palette window using a separate scene makes this problem make a little bit more sense to me.

Hopefully this is helpful to someone, it sure was for me.

1 Like

Hi, this should be fixed in 2021.3.17f1. Let us know if that works out for you or if there are further issues!

Thank you @TenaciousDan for sharing! These are great!

I’m noting these helpful pointers down and feedbacking them to the team.

  • Rule Tile support for 3D objects to speed up painting.

  • Adjustable Tile Palette angle for easier Game Objects identification.

  • Which kind of reminds me of the Shader Graph preview overlay where you can choose either flat/angled (Sprite/Cube) preview.

  • API support to reference placed game objects by (grid cell position + layer) at runtime.

  • The ability to merge the meshes of game objects instantiated using this brush that use similar materials to improve runtime performance (reduce draw calls).

Thank you @Haldiman for the great and detailed walkthrough. Thanks for these really helpful screenshots too. They make it really easy to follow.

This is a really great trick! Thanks for sharing the workaround while the fix was underway.

Let us know if the latest fix works for you!

Hello again. I have now moved over to the new version (2021.3.17f1) and just wanted to confirm that the issue I was having is indeed resolved :slight_smile:

Thank you @suxiangting and @ChuanXin

1 Like

Awesome news! Thanks for confirming. :slight_smile: