You can get a massive performance boost and avoid lags between path regenerations (especially with the debug visualization) by giving GridMeshInst an UpdateInstance function that only updates the CustomDataValue per instance so you don't have to delete and re-add it every time you change the look of the tiles. Then simply use the previously created UpdateInstance in GridVisual-UpdateTileVisual. Tested in UE 5.4
Just spent an hour troubleshooting the weirdest bug where the "Cast To BP_Pawn" node would not show up in the graph editor. For anybody else who runs into this issue, go open the pawn blueprint. Not sure why that had to be opened for me to cast to it, but hopefully this helps someone else.
Hi, and thanks for this great series! For some reasons, I'm not able to get actor from LocateBoundObjects function. I have a series of spawnable actors, and I'd like to fetch one of those using its Guid, but the array is always empty. Do you have any suggestions?
For anyone who is following along in UE5: - Connecting source control to your repo, you can go to Tools -> Connect to Revision Control.. -> change Provider to 'Git' -> Accept Settings. Btw, very glad you are working with Source Control for this tutorial!
31:51 There has to be a better way than either option you presented. It's *definitely* a bad idea to use a delay for this, that's just a race condition, even if it works every time, it's just wrong. I'm way too new at unreal to be able to suggest how though.
Well this was quite the Marathon. I originally came here to look up the Grid side of things, but ended up watching the entire series and following along. And boy am I glad I did. I learned a lot of other tips tricks and best practices I already implemented in my current projects. Thanks for your work Alex.
At 4:13 I can't connect either select actions to the exacute actions with the message "BP Player Actions Object Reference is not compatible with BP Actions Object Reference." Edit: Same with trying to connect the "Spawn action" to "Set Selected Action Left Click" at 5:54
Everytime i watch one of those videos i have a problem "Why does X not work i did it like in the video". Then i watch it again and see that i forgot to connect one random Node.
Hello Alex, when im using your plugin all pivots of single objects get set to the pivot of the prefab. How can i avoid this and have the normal pivots of each object in Unreal?
For people who sometimes need to break loop immediately: add line from node "assign break true" to "execute" AND replace Delay with Retriggable Delay. That way, if you will call loop again, you can rewrite delay time
For some reason after doing the calculate the tactical grid only when its visible the grid starts flickering with black and white and when I hover over a tile it turns the tiles black. I have only found out that UpdateTileVisualTactical goes in a loop causing the flickering and that when I hover over a tile with the IsTactical checked the IsTactical variable is set to true and if its not then its false - it updates with every tile I hover over.
I have an issue with the make array at around 16:00. It just doesn't cycle through the different states which makes it only display one color and makes things like hover invisible. It is always on the one with index 0. Edit: Solution: Do not connect a return node to the false pin of the branch with the contains node.
For anyone having issue with snapping to the grid - after he created the C variable - you have to replace the GetCenterLocation variable node with C variable node at the end of the function and at the point where you are substracting that variable right before connecting it to the return node
I don't know what is happening; at min @11.49 if I select my unit the spell bar does not update, I've reproduced every step of the series since video 01, If I try to Create a unit and then move it the function works correctly, but if I try on the spell tab it appears only the spell, ignoring the selected unit
@@waltch5711 yes, I did! first I put a condition on loop to not explode (just to be sure) and it helped me to debug. It was, in my case, some elements on Discover Tile function that it was not well-connected. AND I had to modify the Pull Cheapest Tile. I did SEVERAL modifications on it after seeing this bug, because I realized that the loop was not taking the nearest tile to the target, because I made a Grid with different spawn instance than the video. So, I created a function Get Nearest Tile from Target on Grid. It take me some hours! TL;DR: Put a limit on the WHILE loop to help debug. Check Pull Cheapest Tile to be CERTAIN that the cheapest tile is the CLOSEST to the target. Check all nodes if is all well connected. If you wanna help ask me again.
@@whitewerebear Ive just rewatched the DiscoverNextNeighbour section in the video and I have completely missed that I was supposed to put the Curent Discovered Tile variable into the previous index instead of the Current Neighbour.
The part at 13.00 isn't working for me it gives out an error about playeractions not being correctly set when trying to bind the event. I fixed it by adding a delay until next tick at the start of the begin play in CBT move so I think it might have been a race condition going on with Player actions being set after the action cbt move is created and not soon enough. Unreal version 5.4.2 if needed FIXED: I had changed how some things were spawned due to unreal disconnecting pins for creator functions blocks, which was causing the playeractions to not be set on spawn but right after, changed it back hoping unreal doesn't begin detatching those again
Hello, I love your videos! The problem with SetScalarParameterValue/SetVectorParameterValue is that they are EditorOnly and I can't package the project to any platform. Is there a way around this? Thanks in advance!
Whenever I changed it from a vector 2d to an int point, the grid size now massively effects where it is in the world and the bounding box is now way off
When I try to get the load level function for 14:02 It doesn't show up. Same with the Level Loaded string in it. Thankfully I only plan on using Hexagon so it isn't a must fix right now but it could easily become an issue later :p
I'm having an issue with the grid (Newest version of UE5) The grid will follow the opposite of where I move the base of it, like when I move the base up, the tiles move down. FIXED: Once I compiled the code at 39:30 for whatever reason
I have a suspicion that the debug tile coloring for pathfinding hits the same infinite loop bug now. Not sure how to fix it, but also don't want to get stuck investigating that.
I made it to the end! What a journey. It was really nice to see a project put together so robustly. I decided to stray off the path and implement my own features as I followed, so sometimes I was struggling a lot to implement my own functionality without you holding my hand, but here we are. It blows my mind that you offer this type of education for free, but I can assure you everyone who made it this far is mighty impressed with you. You may not have seen us, but we have grown as developers.. maybe as much as we've watched your hair grow over the series :D Now that I have the infrastructure in place, it's time to work out some bugs of my own. I really thought the AI would fix my units not moving on the nav mesh but alas.. no cigar. This is really just the beginning of my project, I have to code all my spells and abilities, create my own characters (gulp) and animate them. Can't wait to get started. Proud to have got through this monster series. Keep up the good work!
This nav mesh is driving me crazy. I can see the nav mesh, I can draw debug lines on the navigation, my character goes into walk mode and points in the direction he wants to go.. but he does not move! I suspect there is a collision preventing it from moving but I cant for the life of me find it...
Hey! I am following along but using my own hexagon meshes, that are pure hexagons instead of slightly squished as you provided. I've got all the math working for getting the grid made correctly, however I cannot get it centered properly, or aligned with my grid material from before! Any ideas? I've tried a tonne of different values in the 'center and bottom left corner' function.
It would really help to preface the video with why you would want to even follow this method, what benefits it provides, and what are the disadvantages if any. What instances would you use this method and why?