If you don't want to read, please just a quick vote on tilesets VS prefabs for terrain, floors, tall walls and objects.
I am creating 2D top down tilemaps and I'd like to set up the art in a beneficial way to the programmers.
I have been trying to work out a general pipeline used, but it seems there are still limitations in Unity when it comes to working with tilesets and rulesets. With it's existing tools it doesn't come close to the ease of Tiled editor map creation and tile replacement. But maybe a programmer would prefer to tackle the ruleset/automap issue with scripts, rather than another program.
I'd like input from the scripting wizards out there. Basically, how can I prepare the 2D top down assets so they're not a headache to use?
--CURRENT PIPELINE--
Tiled (map creation) > SuperTiled2Unity (import maps and replace objects with Unity prefabs) > Unity (Map split into layers, SortingLayers/OrderinLayer all sorted, prefabs already set up)
--MAP CREATION WORKFLOW--
In Tiled editor, use ground lvl input for floor, walls and objects (*see INPUT on image). That automatically generates the right tiles for floors and walls and puts them in the correct map layers with SortingLayer/OrderinLayer assigned (*see OUTPUT v1 and v2 on image). Objects (signs, chests, trees) are automatically replaced with prefabs on import to Unity using SuperTiled2Unity. You can also add your own placeholders to be replaced by any prefab you want in Unity, or change Sorting/OrderinLayers. Object prefabs can also be added directly in Unity, of course.
--WHAT TO DO WITH TALL WALLS--
The walls more than 1 tile high can be done in 2 ways:
1) WALLS AS PREFABS (*OUTPUT v1* on images)
You input the ground wall tiles in Tiled. On import to Unity the placed walls can be replaced with tall wall prefabs (32x128). This would allow for pivot point edit and therefore more precise control of wall flipping in front/behind character. As far as I understand it also allows for referencing those objects with scripts, if you want to make the wall disappear etc.
2) WALLS AS TILES (*OUTPUT v2* on images)
You input the ground wall tiles in Tiled, and this automatically builds the taller wall tiles and sorts everything of the same height into the same Z-layer. On import to Unity it places tiles into map layers with set SortingLayer/OrderinLayer. Custom Sort Axis has to be set to y=1 z=-1 to have the character sort correctly in front/behind.
In this case all the walls (or just the wall collision) would have to start at the exact bottom of the tile, otherwise the wall flips over the character because of it's default an uncheangeable pivot location, as seen on the Unity comparison image.
--OTHER QUESTIONS--
What do you prefer being tiles and what prefabs? I assume terrain and floors should be tiles, and objects prefabs. I'm fuzzy on the tall walls and fences. Is it even beneficial to have the wall as prefabs if the prefab is not the entirety of the wall but just a one tile section?
Would handling hill terrain layered as tiles cause problems together with walls as prefabs somehow?
How would I build the tilesets, prefabs and mapmaking so that it allows for scripting to be done in Unity for in-game building?
How would the shading be handled with tiles as opposed to with prefabs? My plan was to make assets base color and for each create 4 light/shadow overlays. Would that work?
Any other tips to make the assets and the mapbuilding ideal for you?
Thank you for your time ~