Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Tower Defense Template Project Feedback

Discussion in 'Community Learning & Teaching' started by willgoldstone, Jan 18, 2018.

  1. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    637
    Hi all,

    We are happy to provide this Tower Defense template project and written manual for intermediate users to take advantage of. This project is designed to be learned from, extended, repurposed - whatever you like!

    Download the project here -
    https://assetstore.unity.com/packages/essentials/tutorial-projects/tower-defense-template-107692

    Manual is here -
    https://unity3d.com/learn/tutorials/s/tower-defense-template

    We hope that it makes for a great start for anyone wishing to tackle the Tower Defense (in 3D) genre and we look forward to hearing your feedback on this project and it's manual. Please post any feedback you have here and we will endeavour to respond.

    Known Issues

    There is a bug in Unity 2017.3 that gives the following error -
    "Assertion failed: Transform has SetIsHierarchyDispatchInterested present when destroying the hierarchy. Systems must deregister themselves in Deactivate."

    This is nothing to worry about and only occurs when you exit play from trying out the game. This error can simply be cleared in the console and it is fixed in 2018.2 so should never give you any problems.

    Enjoy!

    Will
     
    DbIMok and Gametyme like this.
  2. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,063
    In the "Creating an Agent" section, "Add an AttackingAgent or FlyingAgent component to the GameObject". I try to do this with both AttackingAgent & FlyingAgent scripts but I can't do it because I get the following error:

    "Can't add script behavior ILauncher. The script class can't be abstract!"

    I am using Unity 2017.3.0f3.
     
    iga112 and dtcurrie like this.
  3. dtcurrie

    dtcurrie

    Joined:
    Jun 4, 2016
    Posts:
    1
    I was able to fix this by adding a Launcher component to the agent first. For example, the "Hitscan Launcher" component.
     
    iga112 likes this.
  4. GrassWhooper

    GrassWhooper

    Joined:
    Mar 25, 2016
    Posts:
    35
    brilliant i must say, one of the best packs that i have seen out there. totally a 5 stars quality.
    as an intermediate student learning unity, i'd say that, i wouldn't really use the template myself. what im doing is pick up a system or two from it, and do my best to deconstruct them and find out how they were built.
    and so i did. i must say, the code's quality is top notch, in my intermediate eyes, it is totally professional looking code.

    however, if its not trouble, but i'd like to ask, when you guys made this project (template) did you guys make some sort of Technical/Code/System design document, or something along those lines? (especially for the Core Frame Work)(if these are aviliable for other frame works too i wouldn't say no :D )

    i know its probably a lot to ask, but if you can or have something along those lines, it would be cool if you guys share it.
    (the documentation is nice and all great and very detailed too, but its more in the lines of "how to use the template" and what i am hopping for is "the code plan/system design document type of thing")
    sorry for the not so great english :D

    as i am taking this project for more of a learning trip rather than a usage trip. so anything that helps me deconstruct the code, and draw the structure in my mind, would be a great.
     
    TokyoDan likes this.
  5. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    637
    @TokyoDan thanks for the feedback we will look into it, i've heard this a few times.

    @GrassWhooper interesting point, and i'm not sure how documented it was but I will ask the team.
     
    GrassWhooper likes this.
  6. n5ep

    n5ep

    Joined:
    Oct 29, 2014
    Posts:
    1
    Hi @willgoldstone, the project is amazing indeed! Everything is very well written and commented (classes, functions, variables, etc.), but as @GrassWhooper said it would be great if there is some supporting documentation that gives some sort of an overview of the Core Framework - everything there looks well abstracted and reusable.

    Will the Core Framework be available as a separate package on the Asset Store? Also what is the license for it in terms of modifying and extending classes and using it in a commercial project?
     
  7. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    637
    Hi there, not solidified any plans as to separating the Core Framework as yet - but I can say that this and any other part of what we release here can be used in a commercial project.
     
  8. sebek89

    sebek89

    Joined:
    Jul 2, 2013
    Posts:
    5
    Hello there,
    first of all, this sample project looks really good and it's a real fun. However, I'm really suprised that anyone didn't found a bug that is 100% reproducible for me and that makes game unplayable on android.

    1) Build for android, play on device
    2) Start a level, start building a tower
    3) When you tap on a location (or drag) tower is positioned correctly, fine
    4) Try to tap on V (accept) button - surprise, button is not tapped, instead tower has moved in the place you have tapped. You can try to repeat it many times, for me it was impossible to place any tower.

    After some digging, I found that there is check for pointer being over UI, however in UpdateTouches() method (InputController.cs:322):
    Code (CSharp):
    1. void UpdateTouches()
    2. {
    3.     (...)
    4.  
    5.     if (existingTouch == null)
    6.     {
    7.         existingTouch = new TouchInfo
    8.         {
    9.             (...)
    10.             startedOverUI = EventSystem.current.IsPointerOverGameObject(touch.fingerId)
    11.         };
    12.     (...)
    13. }
    14.  
    startedOverUI variable returns false, even that I'm tapping on a UI button. For me this code looked good.

    Then for my bigger surprise I accidentaly found a way around this problem - if (on a device) you perform a really long tap instead of normal, short tap then the tower is builded correctly.

    For now I have no idea how to fix this to work correctly in all cases.

    Project builded from Unity 2017.3.0f3.
    Tested on Samsung Galaxy S4 (4.4.2) and Xiaomi Redmi Note 2 (5.0.2), same behavior on both.

    Any ideas how to fix it?
     
    shubhamshetkar25 likes this.
  9. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    637
    Hi @sebek89 I have passed this to the dev team and we'll look into it, thanks for raising it!
     
    shubhamshetkar25 likes this.
  10. wiseman_2

    wiseman_2

    Joined:
    Dec 11, 2013
    Posts:
    66
    Just a quick question....First of all the project has been a blast to mess around with the last couple of weeks.
    I've modified the agents scripts, to allow them to target towers and fire all of the time, which has worked quite well with the prefabs that came with the template.
    However ,I've noticed a couple of odd things when making new agents and towers.
    If I just try changing the 3d model associated with a tower and save the prefab with the new art applied (and yes I did change the settings in the affector and the targetter to the new model), the fire effect from the hit scan launcher never plays (or it never appears to be visible). I can see all of the other ones, and this also appears to be tru with the fire affect if I try making a new agent.
    Everything else with them appears to work.... the turrets appear to target... damage is applied to the target... just no fire effect anymore.

    I also noticed that existing towers have an extra tasrgetter that just seems to appear in the hierarchy that can't be copied... they disapear when dropping the prefab into a scene... and can't be replicated in anyway I know of.

    Machineguntower_0 has been saved by me after changing the model.... both 1 and 2 show the extra targetter

    I've also noticed that the fire Effect referred to in the hitscan launcher on the machine guns doesn't seem to have a prefab...
    I tried taking a look at it in an attempt to figure out what I was doing wrong, and it seemed to just reference the script I was clicking on rather than a particle effect.... If I did double click on it however,, it opened up a predefined set of particle effects. I thought I found what I needed.... but, it turned out even though I could see the particle effect, there was no way to find it in the hierarchy or save it to a prefab...... Any ideas on what's up with this?
     
  11. cedsmit

    cedsmit

    Joined:
    Feb 21, 2018
    Posts:
    1
    what files do i need to pick if i only want the models sounds particale and ui assets and no scripts or any other data.. so i can put them in a seperate folder im getting confused by the amount of folders and i dont know what they are all for.
     
  12. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    637
    If that is what you want, simply look at the working scenes then drill down into certain game objects and select the models and prefabs assigned to them? not sure what to tell you but the folders should be appropriately named, it's up to you to choose what you want from them.
     
  13. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    637
    Hi i've discussed this with the developers they're going to take a look at it once we have a little more of their time hopefully next week or so, sorry for the delay.
     
  14. TokyoDan

    TokyoDan

    Joined:
    Jun 16, 2012
    Posts:
    1,063
    In the Prototype scene there are obstacles. The cube obstacles have blue wireframe (gizmos?) grids on the top faces. How are these grids created/displayed?
     
  15. Mr-Game330

    Mr-Game330

    Joined:
    Aug 12, 2014
    Posts:
    46
    Hello, nice tutorial but i stuck at very beggining when i need to add meshes:

    "Let's create a TowerLevel Prefab for the first level of our tower.

    • In the Hierarchy window, click on the Create menu and choose Create > Create Empty

    • Give the new GameObject a name to indicate its tower type and level (eg. LaserTower_1)

    • Add a TowerLevel component to the GameObject

    • Drag the ScriptableObject for this tower’s level into the Level Data field

    • Add meshes that represent the tower as children of the GameObject

    • Create a folder for the tower in Prefabs/Towers

    • Drag the GameObject from the hierarchy view into the newly created folder to make it a prefab"
    Which meshes??
    I bring ready Laser Tower prefab to see what meshes, but want to follow the tutorial which dont describe exactly what meshes are needed, also when i copy stuff from prefab my tower is white even if i put proper "LaserTower_L01_Albedo_V001" material...

    So...which meshes exactly?? Wanna know if i choose right because when i choose those in models/tower laser1 it has animator component comparint to mesh from prefab and is white even with same as prefab material.
    As i say i wanna only follow the tutorial i know how to get right prefab etc. again, only want to follow the tutorial.
     
    Last edited: Mar 27, 2018
    hxtruong likes this.
  16. mkjlong

    mkjlong

    Joined:
    Mar 31, 2018
    Posts:
    1




    I am having the same problem too... I would appreciate some help from anyone who has successfully completed this tutorial
     
    hxtruong likes this.
  17. RIOX001

    RIOX001

    Joined:
    Dec 31, 2013
    Posts:
    13
    Hi,
    One question that is breaking my head, I want a turret made in the editor that can shoot the agents, all works fine, but when it have to shoot, the turret only look at the agent, it not shoot, do nothing, when the turret is made clicking the create button in the game, it shoots, but I want a turret created in the editor and when I click play the turret is there
    Where I can see how the turret shoot?
     
  18. heizung76

    heizung76

    Joined:
    Apr 11, 2017
    Posts:
    1
    hello thanks for making this template available.
    I just wanted to ask if there is something like a video training for this template how to use it and work with it because right now i dont really know how to start.
     
  19. kylebrain

    kylebrain

    Joined:
    Jun 15, 2016
    Posts:
    2
    Hello,

    I've used the tutorial to make my own scene which works outside of one bug. I've noticed that the agents do not shoot back now in ANY scene even though I did not modify the other scene.
     
  20. Ekivenum

    Ekivenum

    Joined:
    Jan 16, 2018
    Posts:
    4
    Hello willgoldstone and everyone,

    I'm here because i found something strange in the template. The EMP tower, after been destroy, keep slowing the agents.
    The "Slow Affector" attach a script (AgentSlower) to the agent in range, and will remove it if the target leave the Range.
    The problem, as i mentioned, there is when the tower is destroyed while agents are still in range nothing in code will remove the AgentSlower script from them

    If someone can help me using the "TargetsInRange" variable to solve the problem, please.

    PROBLEM SOLVED

    Create a list to keep track of agent you will attach the AgentSlower, and OnDestroy, call for each agent the RemoveComponent methode.
     
    Last edited: Apr 24, 2018
  21. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    637
    Have you read the written manual on the Learn site?
     
  22. mrSc0tt

    mrSc0tt

    Joined:
    Apr 17, 2018
    Posts:
    1
    Same stumbling point in the project here. What meshes? Perhaps at least specify the asset folder to pull from or post here please.
     
  23. GregoryFenn

    GregoryFenn

    Joined:
    Feb 13, 2018
    Posts:
    19

    Same problem for me. I decided to search for LazerTower_0.prefab and drag that onto my initial tower setup. But I'm scared I've done it wrong already and the rest of the tutorial will go horrible wrong! We need a video of someone else following the written tutorial because it clearly made sense to the writer of it what to do, but it doesn't make enough sense to us.
     
    hxtruong likes this.
  24. Ekivenum

    Ekivenum

    Joined:
    Jan 16, 2018
    Posts:
    4
    Hello,

    I have found a problem with the Camera Rig. In this script at this line(61):" public Debug bounds area gizmo" the variable will be update, if i move the "Debug bounds area gizmo"(line:197) in the scene.
    The problem is when you have the Camera's gameobject selected in hierarchy and you work on your scene, while you move your mouse or/and the world you working on it. This will update the "public Debug bounds area gizmo"

    At the start i had the all bounds area moving a little bit, further on it when so far away and even deep on the Z axes. After that if you hit play the camera will show you abyss.
     
  25. Ekivenum

    Ekivenum

    Joined:
    Jan 16, 2018
    Posts:
    4
    Beside this problem,

    I'm creating a game, like a lot of you, and this game will be base on the TD template.

    The alpha version is almost done. I still miss an information about how do EnemyLayerMask work? Befor i move on beta version i need to solved it!

    I have read about Layer but, the way the layer is use let me with questions:

    I'm working on the script TowerLevel, and line ~112

    public virtual void Initialize(Tower tower, LayerMask enemyMask, IAlignmentProvider alignment)

    you can "Initialize" your tower with a Enemy Layer Mask
    "This determines which physics layers the tower can target."

    All the tower prefabs have the same layer: Evrything. And with a Debug.Log we can see taht the .value is:-1.
    The option EnemyMask on tower is here but won't change anything. If i change the value, towers keep acting the same way.
    What makes the diffence between the Lazer_Tower who is able to targets FlyingEnemies or the non-able Rocke_Tower is that:
    On the gameobject it self named "Targetter" there is a different layer, one is GroundEnemiesTargettingProjectiles and the other i FriendlyProjectiles.

    Now i'm stuck here. Where, in scripts, can i find that FriendlyProjectiles layer can handle FlyingEnemies layer and GroundEnemiesTargettingProjectiles can not?
    I really need to acces those.

    Thank you for the one who take his time to read me :)
     
    Last edited: May 1, 2018
  26. Mr-Game330

    Mr-Game330

    Joined:
    Aug 12, 2014
    Posts:
    46
    I dont understand this silence, other ppls also point out this problem, i see Will is present here and completly ignoring my (and as i see, other ppls problem with this) problem, hmm, strange...
     
  27. hxtruong

    hxtruong

    Joined:
    May 22, 2018
    Posts:
    1
    I had this problem which like you. Why don't have anyone help fix this problem?
     
  28. Smokeythebud

    Smokeythebud

    Joined:
    Aug 9, 2017
    Posts:
    34
    I have same issue as the last few posts, which meshes? it says to add them as children? do I add a mesh component to an empty game object child?
     
  29. Elephant03

    Elephant03

    Joined:
    Jun 7, 2018
    Posts:
    1
    Just to ask, did that work? I am confused at the same point and would like to know if this is the corect solution before doing it, thanks!
     
    GregoryFenn likes this.
  30. GregoryFenn

    GregoryFenn

    Joined:
    Feb 13, 2018
    Posts:
    19
    Sorry Elephant03, I actually gave up on this project after that, it felt like a nice project for learning that hasn't been managed well recently. I moved onto a couple of good Unity3D courses on Udemy (If you can spare $13~ish, there are a couple courses with literally thousands of 5-star reviews; I recommend the GameDev.tv courses by Ben Tristrem).
     
  31. DavyM

    DavyM

    Joined:
    Jun 13, 2018
    Posts:
    1
    Hey there,

    I've been messing around with this template and I get everything to work just fine. I have been adding new towers and I would love to use the Targetter script. My new tower consist off 2 parts. A base and a turret, I can connect them just fine however the following problem occures. It shoots the particles and everything but it looks far from what i want.

    After the idle time the turret flips 90deg and then starts rotating.(see screenshot 1) I cant seem to stop this rotation in any way.

    Screenshot 1 showing the Targetter settings
    Screenshot 2 showing the Node (turret) settings. You see Rotion Y -90deg. I think thats causing the problem. But I cant seem to fix it.

    I have been looking in the Scrips files called Targetter and TargetterEditor but that didnt help me either. I don't even know if its the right place to look.

    Any information is highly appreciated.

    ___________________________________________________________________
    Edit
    I managed to fix it, apparently the meshes that i used where rotated 90deg. I was able to fix that.

    Thanks!
     

    Attached Files:

    Last edited: Jun 23, 2018
  32. mudumbiarun29

    mudumbiarun29

    Joined:
    Aug 24, 2017
    Posts:
    1
    same mesh attaching problem please help
     
  33. Melle_

    Melle_

    Joined:
    Jul 16, 2018
    Posts:
    9
    Yea me to
     
  34. StanBishop

    StanBishop

    Joined:
    Aug 21, 2017
    Posts:
    2
    Regading meshes. It's just a visual representation of tower. Attach virtually ANY mesh to it, like a default unity cube or whatever. Even if you won't attach any, still it won't break a thing, you just won't be able to see a tower in a game.

    Now, to another point. Thanks for sharing this, it's a fine prototype when starting TD.
    I, however have a question, similar to @RIOX001. If I just place tower prefab in a scene, or even pause it and a play mode, and duplicate already placed tower, it won't shoot. It targets onto an enemy, and nothing happens. No damage is being applied aswell, It just stares at it. What am I missing?

    Oh, I found it. When placed through UI, the Initialize() method gets called on each tower, inside of each SetLevel(0) gets called, where a lot of stuff happens, but basically, it sets all nessesary stuff for tower of zero level.
    Since I go for wildly different tower logic, It doesn't help me much, but i quess, if you just call SetLevel(0) on all pre-placed towers you would be golden. Cheers.


    UPD: To guys, who made this: I keep digging in your code, and there is one thing that's completely misleading. The descriptions sometimes provide completely wrong information. For example:

    Description on your Damager() class says:
    /// A component that does damage to damageables
    While in reality, it does not. It just stores damage amount, fires an event when damage is applied, an show particles. But it doesn't actually apply any damage. When you start to dig, you find out that damage is applied in any of the DamageZone implementation, but since this meant to be an educational template for everybody to use, I think such descriptions are a disaster.

    This is just one example, post is already quite long, but there is way more of this stuff.
     
    Last edited: Jul 23, 2018
  35. shubhamshetkar25

    shubhamshetkar25

    Joined:
    Feb 4, 2017
    Posts:
    11
    Last edited: Aug 22, 2018
  36. omnix32

    omnix32

    Joined:
    Jan 23, 2017
    Posts:
    2
    This is not getting answered because I don't think folks understand everyone's issue. It's like your TV not working and mostly nobody is going to ask if it's plugged in, but in this case the TV needs plugged in.

    So, create an empty and then take your tower and make it a child under that empty. A tower will most likely composed of a couple meshes, the base and turret part or more. I have only looked at this project, but I know that Unity is going to need to know the part to rotate and need to know the part where the tower shoots. That might be a couple more empty game objects and most likely you will need to rotate one or more empty -90 or 90 degrees to get it to point in the right direction. One empty for rotation and one empty for the point of fire and everything a child under a empty game object.
    You will also need to make your own Origin point so make sure Unity is in Pivot mode and not world axis when placing.

    So it "MAY" look like this

    EmptyGameObject "Name of turret"
    Part to rotate "EmptyGameObject most likely will have to be turned 90 degrees first"
    Turret top and all parts to rotate on top of turret. "This is your turret model mesh top parts"
    EmptyGameObject "End of turret for fire point and rotating under Part to Rotate"
    Base of turret

    If there is a already made prefab of a turret like the laser1 turret then drag that up in the Hierarchy and look at the components it has, see which parts are Empty's and what parts are Mesh. The instructions assume you have modeled and made your own game turret which you can do for free in Blender or any Paid for modeling software like Maya.

    This project is a Template where you can very easy add your own sound, particles and such as it has places to drag those in.

    Brackeys has a great tower defense tutorial on youtube that will help understanding all the basics of placing game objects, UI, and things and will better help you understand how to use Unity's Tower Defense Template.
     
  37. shubhamshetkar25

    shubhamshetkar25

    Joined:
    Feb 4, 2017
    Posts:
    11
    I can't understand what you are saying
     
    GregoryFenn likes this.
  38. shubhamshetkar25

    shubhamshetkar25

    Joined:
    Feb 4, 2017
    Posts:
    11
    hi @sebek89 did you found a solution for it?
     
    Last edited: Aug 14, 2018
  39. zhollis21

    zhollis21

    Joined:
    May 28, 2018
    Posts:
    1
    I just made some sample turrets, like a cube with a cylinder (basicly a box with a turret).

    upload_2018-8-19_15-22-44.png
     
  40. OrderOfOut

    OrderOfOut

    Joined:
    Sep 21, 2018
    Posts:
    9
    Hey,
    In the opening tutorial about tower creation, you guys left out some information. Namely:
    • Drag in the Player SimpleAlignment ScriptableObject into the Alignment field

    You tell us to add it, but don't explain anything about it or what it is/means until further down in the tutorial. Further, during the targeting phase, you drop the term "turret transform" on us without having taken us through any steps about making any kind of turrent.

    Order of explanations has been known to throw me off things like this. Consider restructuring what you introduce here? Or if we're at a "figure out this part on your own" point with some of the things I mentioned, maybe indicate that in the document so I'm not waiting until I think it's going to be covered?

    Then there are other moments such as the list of tasks for setting up the Targetter and other components for the Tower *level*, but the final step says: "Apply changes to the Tower prefab". Or when it tells me to set the radius and vertical range, but fails to say on which object, leaving me to (hopefully correctly) assume you're talking about the capsule collider I just added to the tower level prefab, even though it's called "Height" instead of "Vertical Range"

    As it stands, this tutorial is full of a lot of "What the heck is that? Did I miss something? Oh, I guess I was supposed to assume I had to make that on my own...uh...let me scramble to do that and find my way back here...hopefully I don't have to redo this later." moments, and simple vagueness in spots.
     
    Last edited: Oct 1, 2018
  41. OrderOfOut

    OrderOfOut

    Joined:
    Sep 21, 2018
    Posts:
    9
    Sorry, one more question-comment: I went into this with the expectation that this could be used to build 2D tower defenses, but I'm seeing a lot of 3D assumptions in this tutorial. This is configurable to 2D situations, I hope?
     
  42. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    Hey everyone :) Big apologies for the radio silence here for the past little while. Good news though is that we have a new 2018.2 update for the Tower Defence Template that is currently going through QA and we hope will be ready for release very soon!

    Thank you *so much* for all the notes on bugs and feedback on the documentation above; I believe that all of the relevant items have been applied to the update as well :) It's great to get this sort of input from all of you in the community here!

    While the aforementioned update is busy baking in the QA oven, I will be responding to your above comments so that you can get answers while you wait.

    Thanks for using TDT. We really hope that it helps making Tower Defence games easier for you!
     
  43. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    This is also related to your post @shubhamshetkar25.

    Thanks for reporting this. It was a bit of a random behaviour to do with initialization order that wouldn't always happen for everyone, but it should be fixed in the incoming update.
     
  44. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    Were you able to solve your issue with the fire effect after changing the model? It sounds like something just wasn't linked up again properly after you changed the model?

    Regarding the "disappearing targetter", this is by design as the Collider that the Targetter creates for itself is set to be hidden in the Inspector so that it can't be modified by accident, so what you were seeing there was correct behaviour :)

    On your last note, there are no separate prefabs for the individual firing effects; they are all just part of the TowerLevel prefabs.
     
  45. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    As both @StanBishop and @omnix32 have already helpfully pointed out, this can be any mesh that you want to represent the tower.

    Seeing as how this line in the documentation has tripped up quite a few people here (@mkjlong, @mrSc0tt, @GregoryFenn, @hxtruong, @Smokeythebud, @Elephant03, @mudumbiarun29, @Melle_ all seemed to be affect by this same issue), we have now adjusted the documentation to be more clear on this topic :)
     
  46. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    This was a great point to bring up as we had never previously considered the pre-placement of Towers within a level inside of the Editor. We have added support for this in the upcoming update to the project, which allows you to place Towers in the scene by adding the TowerInitialzer component on those Towers so that they get initialized correctly when the scene starts.
     
  47. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    Were you able to resolve this? Agents only fire if their paths are blocked, so perhaps you just weren't noticing that before? Otherwise, there is no real way that changed to one scene can affect the logic in another unless you have changed the scripts in some way or form.
     
  48. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    Thanks for this report! It was a genuine bug and it has now been fixed ing the upcoming update :)
     
  49. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    Another great bug report. This has also been fixed in the new update :)
     
  50. Luke-Lamothe

    Luke-Lamothe

    Joined:
    Feb 6, 2013
    Posts:
    13
    Good catch; the Enemy Layer Mask was actually a relic of an older system in TDT that was eventually removed; we have now removed the remnants of it throughout the code base. Thanks for the catch!

    How this actually works is just an interaction between the setup of Unity physics layers and the types of things they can collide with. It's all in the physics matrix. We've clarified this in an upcoming update to make it more explicit, but the gist of it is that towers can shoot at whatever enemies are on layers that can collide with the layer the Targetter component is on. The current version of the template confusingly used the projectiles layers for this; the new update has explicit layers for the two types of towers.