NOTICE: If you're having trouble seeing your tiles, ensure your sprite renderers alpha are set to 255. Sometimes it defaults to 0. Part 2 has been released: kzfaq.info/get/bejne/nJugoJVq3s7FhKc.html It includes additional functionality like unique tile logic, game flow, unit moving and attacking! Did you enjoy the video? Let me know so I can continue making helpful content!
@smileychess2 жыл бұрын
Yup, the alpha channel was the problem. Took 20 minutes to figure it out (even after reading your message here, because I'm stupid). Thanks!
@WorkingDev2 жыл бұрын
@@smileychess new to unity and this is my first time dabbling in it. Where do you find this setting?
@smileychess2 жыл бұрын
@@WorkingDev - It's in each of the places that you set the color. It's the last slider, labeled "A" and has a range of 0 to 255. Crank that up to 255 so it's not transparent.
@themonkeysadvocate32652 жыл бұрын
@@smileychess *2 hours for me XD
@lillylyddon98692 жыл бұрын
You should really pin this to the top.
@jikosauce Жыл бұрын
Even the simplest tasks seem impossible if you don't know how unity works, it's like looking at the flying board for a plane
@jameslavery29582 жыл бұрын
All that in under 9 minutes! Tutorials are on par with the best on YT. Thanks.
@ksalarang Жыл бұрын
Few minutes into the video and I already knew that this is an instant like and a sub
@Tarodev Жыл бұрын
Hope you enjoyed the rest ❤
@Umbra000009 күн бұрын
This is a great video! You were able to communicate in such a way that I was able to understand what you were doing and how the code works.
@nyx01032 жыл бұрын
These tutorials are really clear, concise and you also explain some of the principle behind the code instead of just saying "type the code that I am typing and it will do what you want". I am subscribing. This tutorial is giving me an idea to make a small game for my portfolio, thanks a lot.
@Tarodev2 жыл бұрын
I'd love to see what you end up making 👌
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@awildmoose67982 жыл бұрын
show me where he explains the principle behind the code. he didnt do it once.
@glebozhgikhin15282 жыл бұрын
Most understandable grid tutorial ever! Thank you! I had problems with activating hilight object, and solved it with adding hilight color field into "Tile Script", and empty "backupColor" variable, that saves renderer color on mouse collision enter.
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@theroboman7273 жыл бұрын
For the offset bool you could use: (x + y) % 2 == 1
@theroboman7273 жыл бұрын
also maybe: x % 2 != y % 2
@Tarodev3 жыл бұрын
You're right! That's much cleaner.
@DuniC02 жыл бұрын
Yeah! I thought the same! (x+y) it's called Manhattan distance and with the modulus of 2 you can get a perfect checkboard
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@overcomeaging2 жыл бұрын
or: (x % 2 == 0) ^ (y % 2 == 0)
@larryd95772 жыл бұрын
Instead of casting _width and _height to floats, you can divide them by 2f, it will result in a float.
@paulglosemeyer24512 жыл бұрын
Imagine not liking this video... perfect video! Short, clear, easy to follow. Keep going!
@lln61232 жыл бұрын
The Cameraposition based on the size of your grid was what I needed!
@squabbler_2 жыл бұрын
I looked for any sort of video tutorial, blog post, etc explaining this in 2020. Thank you so much!
@soco53382 жыл бұрын
Clear, concise instruction without fast forwarding to a speed no realistic human could follow. Probably(why lie? you definitely are) one of the top three cleanest and most efficient coders for Unity tutorials on KZfaq.
@Tarodev2 жыл бұрын
Damn bro
@nyaenya Жыл бұрын
Thank you for this wonderful tutorial! I was wondering why my colors didn't alternate after I added the sprite renderer and isOffset boolean, turns out my colors were all transparent! Make sure to check whether your Alpha value is at 255 to avoid the same problem I had :')
@pandasempie Жыл бұрын
LOL I was about to have the same issue ty T_T
@pseudoleviathan5923 Жыл бұрын
Same issue thank you!
@chrisdaly6023 Жыл бұрын
you kept me from facing a huge headache.. thanks!
@goodymicplaysgaming Жыл бұрын
I was soooooo confused as to why it wasn't working, thank you.
@MarcosacroM2 жыл бұрын
Thanks for the tutorial, was very cleary and for non english speacker it was very simply to understand you without subtitles.
@kitteninamitten57353 жыл бұрын
The visual studio text is too small, pretty difficult to read. Other than that pretty good tutorial.
@nakano152 жыл бұрын
I think they fixed that on 2022, but at the cost of performance hahah.
@VikkersOlfsson Жыл бұрын
This is a magnificent tutorial, thanks champ!
@CharlieVanders220202 жыл бұрын
Absolutely brilliant tutorial, thank you very much for your work!
@Tarodev2 жыл бұрын
I'm glad you enjoyed it :)
@jirikropocev99112 ай бұрын
Very nice video: clear, informative and easy to understand. Thank you!
@ngjiayi27052 жыл бұрын
you're my fav tilemap guy right now!!
@Tarodev2 жыл бұрын
Wait until you see part 2 😉
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@zoop391 Жыл бұрын
Personally, I think storing the grid in a data structure such as a two-dimensinal array is nice to work with. To extend this, if we had a three-dimensional array we could store layers of grids, that could represent house floors, underground floors, etc.
@dpurrington9 ай бұрын
That's the model Minecraft uses. Every square "foot" is of one material or another. Air is just another material that you can pass through.
@treppas2 жыл бұрын
Great video, really taught me a lot of stuff in a short time.
@sulin85179 ай бұрын
Thank you for your tutorial, that's a nice way to create a grid.
@jugibur21173 жыл бұрын
Watching this at 50% speed but wish you could pause 2-3 seconds after you swapping the screen, so I have time stopping the video and finish typing :-) But anyway, your videos are very helpful, so thanks for your effort!
@Tarodev3 жыл бұрын
I do feel like I swap between windows a bit more than I should. I'll try keep it in mind for my future videos!
@hayali93022 жыл бұрын
@Tarodev Thank you brother, I learn so much from you.
@Shokukumi3 жыл бұрын
Would look forward to more board game type of videos!
@Tarodev3 жыл бұрын
I just released part 2: kzfaq.info/get/bejne/nJugoJVq3s7FhKc.html :)
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@edmondeyeemceeezekiels9158 Жыл бұрын
Much love for this!
@rafaelokabe2 жыл бұрын
You saved me tons of hours of work!
@Programming_Buddy12 жыл бұрын
Great video! straight to the point.
@mrbooscloos2431 Жыл бұрын
instead of centering the camera on the gird i wrote: Instantiate(_tileprefab, new Vector2(x - 4.5f, y - 4.5f), Quaternion.identity); its alot easier and if it doesnt line up properly then you need to play around with" 4.5f"
@theresnothinghere592 жыл бұрын
fast, clever video, amazing!
@yuuki85 Жыл бұрын
wow it in detail works! Very good job
@noobcraft57123 жыл бұрын
You should mix in some devlogs that will be sooo cool.
@Tarodev3 жыл бұрын
Very good idea. I'll do that! Also, I took your advice and started a discord. I'll drop the link in a video or two when it's ready
@noobcraft57123 жыл бұрын
@@Tarodev oh :)
@andubunea96273 жыл бұрын
@@Tarodev OH can t wait to see the discord I think I will really get help with unity from there
@soninh43572 жыл бұрын
Thank you alot. Im learn how to make a game rn, this guide help me alot
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@SlimeWithClass3 жыл бұрын
Would you be able to give an example of how to use the GetTileAtPosition function? Just to do something like displaying that tiles name to a debug menu or change a clicked tile to a different color?
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@oguzsurer93979 ай бұрын
You deserve more subs thank you for the tutorial.
@supergogogo3 жыл бұрын
Very useful tutorial! thank you very much
@theemeraldsloth9570 Жыл бұрын
Thanks for this. This was super good and simple
@andressblabla2 жыл бұрын
Would you mind explaining why you prefered to self-create a Grid system instead of using the actual Unity Grid and Tilemap system? I'll be really glad if you do so because I've already seen another youTuber's take on Grid as well (CodeMonkey's) and both of you decide to create your own versions instead of using Unity's. Is there a reason for that? Thanks in advance!
@Tarodev2 жыл бұрын
Just answered your question in discord! ❤️
@phildebondi83112 жыл бұрын
Hi I'm just getting started with Unity, I'm sure I've messed up something simple. Whenever I call the Tile.Init(Bool) function all of the tiles are positioned in the one spot and the color doesn't change. Any help would be appreciated.
@matthewjames75132 жыл бұрын
Great video! I followed the whole thing and duplicated it perfectly on my end. However, when I run it, I find that the tiles are not visible to the camera. The green colors do not show up. However, I can tell that the core functionality still works because the highlight comes up as I move my mouse around. I'm using Unit 2020.3.29, maybe that's why? :) Thanks for the tutorial!
@matthewjames75132 жыл бұрын
Nevermind! I figured it out from a previous comment of yours. For those that don't know this is what you need to do: 1) Click on "Tile" so that the inspector tab on the right shows up 2) Change the alpha of the Base Color and Offset Color 2a) When you click on the color a separate screen comes up where you can choose the RGBA values. Move the slider from 0 to 255.
@gamingcodingwithrandoms11872 жыл бұрын
@@matthewjames7513 thank you
@garvisan65402 жыл бұрын
@@matthewjames7513 thank you so much
@dustinwallace93012 жыл бұрын
@@matthewjames7513 Had the same issue. Thanks for clearing it up!
@birdblue69272 жыл бұрын
Thanks a lot!!! 👍👍👍👍
@coreybuchan342 жыл бұрын
Hey, so this is a great tutorial and I was wondering if you could clarify the _renderer.color = isOffset ? _offsetColor : _baseColor; Is that just an if/else statement written in a single line? _renderer.color = (if ifOffset is True, _offsetColor, else _baseColor)?
@kordeyrow2 жыл бұрын
Yes, it's a ternary operator
@mewpsy1000Ай бұрын
Ty so much dude.
@TarodevАй бұрын
@@mewpsy1000 no problem 😊
@DroolingNoob1152 жыл бұрын
When instantiating your dictionary it may be good practice to pass in the capacity (width * height in this case) of it as to not consume more memory than necessary whenever the dictionary needs to resize its capacity as you add more tiles. It may be also be worth to consider using a 2d array if you are nit picky about performance and memory as you don't have to save a key for each tile. I would only suggest this if you plan to make a giant array however, may not be necessary or even optimal for small projects.
@Tarodev2 жыл бұрын
Good tips. I avoid 2d Arrays like the plague and opt for more user-friendly devices. Unless performance is an issue, as you said.
@gregotox2 жыл бұрын
the new brackeys is looking good.
@Tarodev2 жыл бұрын
You're too kind ❤️
@issaraychouni15702 жыл бұрын
best easy board ever
@lluisvinent90992 жыл бұрын
Aren't these 'OnMouse' methods actually a raycast? I guess that for huge grids it would be more performant to create a single raycast from the mouse position and check what's colliding instead of a script for each tile. Anyways, I love your content. I'm recomending your videos to a noob friend of mine who is starting with Unity. He's super motivated thanks to your videos! :)
@Tarodev2 жыл бұрын
Thanks for the recommendation ;)
@matthewmathis622 жыл бұрын
This is very useful, thank you!
@chubbychuck2118 Жыл бұрын
Very good tutorial!
@TheRotomFan2 жыл бұрын
Great video! I'm following along, but for some reason the Init function is making all the tiles not visible to the camera. I'm not sure how to fix this. I'm on 2021.2.7f1 if that matters.
@againstallevens85122 жыл бұрын
Make sure your alpha on the color is set to 255 rather than 0.
@BakedFrameАй бұрын
For anyone who can get the highlight to appear change the layer for the Highlight 2D object to 1.
@thanhhainguyen3553 Жыл бұрын
FACTS!!!!!! Thank you so much man, you're the best!!!!!!!!!
@earth27724 ай бұрын
哇哦,太酷了bro,非常感谢你的教程👍
@alexhere40612 жыл бұрын
Amazing!TYSM!!!
@dksanime9343 Жыл бұрын
Completely agree. Aweso video
@eddyrc72 жыл бұрын
Saw your video in reddit, decided to sub, will be back today and get this tutorial going, thanks for this!
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@leeblackharry2 жыл бұрын
How would you go about creating an outline around each grid cell instead of coloring each grid cell like you did in this example? I tried adding in an Outline component but this did not work.
@UngelisteteVideosvonExes Жыл бұрын
rly good video man
@BossAleks123 Жыл бұрын
If anybody has invincible tiles, dont forget to change where you change the color the saturation.
@Tarodev Жыл бұрын
Ensure alpha on the sprite renderer is not set to 0
@BossAleks123 Жыл бұрын
@@Tarodev yes 👍🏽
@christostsonis3442 жыл бұрын
lol this is the first tutorial I see naming a spwned object so it never occured to me that was possible
@DuniC02 жыл бұрын
You can use Manhattan distance for the checkboard pattern: (x+y)%2
@playboyy212 жыл бұрын
Yo checkout this template for a grid tactics game , this one is by far the best ive seen so far kzfaq.info/get/bejne/ntd5dLeBmqiwkYU.html
@amrutvijapur8057 Жыл бұрын
Can somebody help me? I've done everything the master said in the video character to character. After adding the code to change the color of the tiles, the tiles stopped appearing and yes my sprite renderer was not turned off.
@LocalContentShow2 жыл бұрын
Feel like I'm kind of falling at the first hurdle here, I don't have the option to make a 2D object. I thought it might be something about Unity's weird multiple render pipelines but no matter if I use URP or specific 2D, nope, still no 2D objects?
@dusklights68102 жыл бұрын
Hello, Just wondering how the GetTileAtPosition function is supposed to be used? Every way I have tried to use it, it has returned a null value and never a tile.
@fess243 жыл бұрын
Thank you so much!
@imamdarwin37502 ай бұрын
Instead of moving the camera I instantiated my tiles as my gridManager's childs and moved my grid manager to -_height/2 , -_length/2. This way tiles are still starting from the position 0,0 relative to their parents.
@okuABR2 жыл бұрын
Thankyou for this
@xHartii Жыл бұрын
Nice tutorial
@Handler643 Жыл бұрын
Hi, I am getting an error like this can any one please Help me? UnassignedReferenceException: The variable _renderer of Tile has not been assigned. You probably need to assign the _renderer variable of the Tile script in the inspector.
@billpariss9559 Жыл бұрын
You have to drag and drop the Tile object into the Renderer field, like he does at 6:31 with the Highlight.
@LeoCow2 жыл бұрын
hey, i am having trouble trying to shrink it down. i want to make it all 10x smaller, so x=1 y=1 is now x=0.1 y=0.1 do you know how i could do this?
@canadianmodder74032 жыл бұрын
Can this work with Hexagon tiles? Your video is very helpful
@Moon-cr4mu2 жыл бұрын
amazing
@brittanypruneau33773 жыл бұрын
Any ide why none of the tiles show a color? I can see the outline of them when I click on them, but the base color and offset color are not showing up when I click play.
@Tarodev3 жыл бұрын
On your sprite renderer make sure you alpha (r, g, b, alpha) is pulled to the right. Sometimes it defaults to 0
@DarkstalkerFly3 жыл бұрын
@@Tarodev Thanks, that was the problem
@matthewcraft74572 жыл бұрын
@@Tarodev How do you change it? All my tiles are created with the alpha set to 0?
@nanoux2 жыл бұрын
Awesome tutorial man, you just got a new subscriber :) I have a question for you, how different would be the process of achieving this, but in 3d? i.e Final fantasy tactics or Vandal hearts, in which the world is isometric 3d and you can rotate the camera in 4 angles?
@Tarodev2 жыл бұрын
Easily transferable to 3d. Replace the sprite renderer with a mesh renderer and replace the y axis for z 😀 Welcome aboard buddy 👍
@Nova045502 жыл бұрын
Wondering if you could zoom in more on these tutorials because watching them on mobile is quite a pain!
@izme38302 жыл бұрын
Thanks, good video :)
@sealer16753 жыл бұрын
Hey! Is this system incompatible with the inbuilt Tilemap/Grid system of unity? Fx. You're making a custom Tile class, while there already exists one in the Tilemap package of unity.
@Tarodev3 жыл бұрын
Tile maps are great, but they're certainly not suitable for most grid games. For example, you can't attach unique logic to a certain tile (easily) using tile maps. One example would be if you had one tile which was a pressure plate which opened a door on another tile... That's very difficult to do using the tile map system.
@sealer16753 жыл бұрын
@@Tarodev i see, I was thinking wether or not it would be possible to have both a unity tilemap and a custom grid on top - with unity tilemap used just for tiles and a custom grid for logic
@user-rv9dp8gw8c8 ай бұрын
Why is the Value data type in the dictionary the Tile Class, not the GameObject?
@shiratasakusharane77142 жыл бұрын
Nice tutorial, thank you :) However, I have face the problem in the highlight section as the highlight color doesn't show up at all when I place my mouse to the tiles. Do you have any advice to fix it? Ps: My tiles are "Sprite Image" instead of "Color" and it seems like my Unity doesn't have the option "2D -> Sprite -> S̶q̶u̶a̶r̶e̶" for some reason...
@Tarodev2 жыл бұрын
Do you have the sprite 2D package installed I'm package manager? Make sure your highlight alpha is not sitting at 0. Make sure the sorting order is higher than your tile.
@Ukysseus2 жыл бұрын
I have the exact same problem, did you find the solution? When my mouse pass over any tiles, the original tile lights up
@jaylonreidhead1572 жыл бұрын
I finally figured it out!!! I had to replace the Tile object in my assets with the Tile object (with highlight stacked on it) from my scene. That way the script takes my uodated Tile with the highlight asset every time it makes a new block.
@st0rmpr0of6 ай бұрын
Hey! Thanks for the tutorial! How would you do this method with a flat-top hexagonal grid?
@Tarodev6 ай бұрын
Checkout my more recent grids video, which shows how to position tiles for all types of grids. You can use the position logic of that video with the game play logic of this one
@thumbwiz2 жыл бұрын
For me, the tiles are being instantiated 1 pixel apart rather than the size of the tile, which in my case is 75. "var spawnedTile = Instantiate(tilePrefab, new Vector2(x, y), Quaternion.identity);"
@evergreen8488 Жыл бұрын
Thank you sooo mch
@user-hs1np1os9p Жыл бұрын
What are the different ways to highlight tiles in Unity? What if I need to cast a shadow under object I am going to put? How to highlight tiles that are already occupied and those that are free?
@nehal_chandra27773 жыл бұрын
Thanks alot.
@macjd4002 Жыл бұрын
Like it very much
@abhishektyagi3941 Жыл бұрын
Great Tutorial! can i use the grid in making a 2d chess game or a snake and ladder game in unity...
@JianqiuChen2 жыл бұрын
Good pace! The video is a bit blurry, hard to see the code on my screen.
@cugly1875 Жыл бұрын
Would it be possible to randomly call a Vector2 instead of just the one at current position from the dictionary made at the end?
@timotheefermeaux91832 жыл бұрын
Hey for the offset you could have done "(x + y) % 2 == 0"
@francescocatalano1517 Жыл бұрын
hello very clean tutorial and thanks for the work. I have a problem, when i instantiate the cam the grid doesn't snap on the center of the cam but in high right zone. I tried to give the center point and the cam is in the center but not the grid.
@larryd95772 жыл бұрын
Level up your boolean game! In calculating the offset one might want to use (x%2) ^ (y%2). This is the xor operator and it is true, if both values are different, so 1 ^ 0 == true and 0 ^ 1 == true and false otherwise.
@MisaGuitarist2 жыл бұрын
And level up again: (x+y)%2
@BatuhanTerzi1 Жыл бұрын
Hi everyone and Tarodev, I love to use events like OnMouseEnter etc. but can you tell me if there is any performance difference between onmouseenter-exit and raycast system? I love to use both of them. Which one should we choose?
@BatuhanTerzi1 Жыл бұрын
Hi everyone again, if there is anyone seeking an answer for this subject, I chatted with chatGBT and it's saying if there are so many objects with an onMouseDown-Enter-Exit type event on it, using Raycast is more efficient.
@emmetttolis9135 Жыл бұрын
Sorry if this is a stupid question, but if I wanted to increase the size of the individual squares and stop them from overlapping, how can I edit the grid manager so it places them, say, 1.5 units apart instead of 1 unit apart? great video!
@emmetttolis9135 Жыл бұрын
Nevermind! for anyone else wanting to achieve this, Change the orthographic size on your camera for the desired effect! Thanks a ton man!
@Dead_Seconds10586 ай бұрын
i don't know what fails, but i can't put my tile prefab into the grid manager, as he does at 1:28 i would appreciate some help
@Gears2Game6 ай бұрын
The field is looking for a "Tile", try to attached the Tile.cs to the tile prefab.
@mrussogamedev4 ай бұрын
life saver @@Gears2Game
@mayronen96432 жыл бұрын
why you use an underscore at the start of your variables? for example: _width.
@benconaway23492 жыл бұрын
I'm unable to set X and Y dimension for the GridManager script when I attached to the empty Gridmanager object. As well as unable to add the Tile Prefab to it.
@theulfhednar26552 жыл бұрын
things worked fine :O . Though my tiles keep dissapearing visually. They are there! just, not visible :/
@Tarodev2 жыл бұрын
Check the alpha on the sprite renderer. It's probably at 0
@theulfhednar26552 жыл бұрын
not only that, but I only get tiles up to 8 8. after that it stops
@Tarodev2 жыл бұрын
@@theulfhednar2655 obvious thing first: is your width and height set to 8 in the inspector?
@theulfhednar26552 жыл бұрын
@@Tarodev They weren't, I even increased to 22 on the width at one point, and it stayed at 8. 8x8, perfect square.
@theulfhednar26552 жыл бұрын
@@Tarodev do you think making it a public variable would do any difference (Im kinda new to programming so idk :P )
@augustas37652 жыл бұрын
No using Unity(A great engine btw), but this was very helpfull too.
@Astamor Жыл бұрын
Isn't it kinda redundant to create grid when tilemap itself is already a grid ? It contains methods for specific tiles, tilemap size, etc ?
@Tarodev Жыл бұрын
Tilemap is good for some things, but is hugely limited on intractability. For example, having one tile linked to another tile in some way (lever/door) is very tricky and requires ugly workarounds.
@Astamor Жыл бұрын
@@Tarodev Is it tricky tho ? Firstly you place door and lever as objects on separate layer of tilemap then just use event system to interact with them. I think it's actually much simpler way of doing it. I usually use 3 tilemaps, ground(walkable), obstacles(unwalkable) and objects(everything that you can interact with).
@Tarodev Жыл бұрын
@@Astamor When editing your maps, how are you linking the lever and door together? Assuming you can have unlimited levers and doors scattered around the map.
@Astamor Жыл бұрын
@@Tarodev They are prefabs. Every door/lever has scriptable object conatining it's name, description and most importantly id number. The lever with id=5 will open door with id 6, lever id = 115 will open door with id 116 etc. I use unity events to do it. Super easy and you can later just swap scriptable object on a lever to change it's functionality.
@renecura2 жыл бұрын
Hey, great channel! Just a minimal observation, sometimes I watch your video on my phone and it is impossible to read the code. It would be great if you can zoom in a bit in your new videos.
@Tarodev2 жыл бұрын
I was guilty of this a lot in the early days. You'll see I've improved in my newer videos 😊