Search Unity

[RELEASED] Isometric Builder – Powerful Isometric map editor for 3D world.

Discussion in 'Assets and Asset Store' started by Nonym, Jan 11, 2018.

  1. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    This is the Total Solution for Isometric.
    Everything is possible without coding.


    New Interface


    Promotion


    Recent updates(V.1.1.1)


    How to Start



    Asset Store Link
    Web Site Link


    I am very happy to introduce my asset.
    It has been constantly updated since it opened a few months ago.
    Now, this forum has been opened to improve the user experience.

    Any comments are welcome.
    I will kindly respond and develop.
    Thank you in many ways.
     
    Last edited: Dec 22, 2018
    Shilo and KingShadowClock like this.
  2. KingShadowClock

    KingShadowClock

    Joined:
    Feb 17, 2017
    Posts:
    10
    Hi! Glad to see this awesome asset get a forum!

    While playing around with it I noticed that using different shader's seem to break something internally and make the sprite render completely black : (.

    Here is a file containing two scenes, one using three native created shaders, and one using a shader created through a plug-in, and a default shader with added normal/occlusion maps.

    [Edit: DO NOT POST PAID ASSETS PUBLICLY]
     
    Last edited by a moderator: Jan 20, 2018
  3. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Hi, KingShadowClock!
    I have verified that the shader uses the game object's LocalScale.z for its calculation.
    The component of my work currently controls LocalScale.z to 0, but it seems to have no particular reason. This can be corrected with a simple modification. I will upload the completed code soon.
     
  4. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Three steps are required.
    Once you have completed the tasks below, you can use that shader with new tile.
    If you have any problems during the operation below, please let me know your e - mail address. I will send you the modified file.
    And, It usually takes more than 10 days for this improved version to go up to the Asset Store live.

    A. line: 44 in CustomEditorGUI.cs (Assets/Anonym/MapEditor/editor/)
    Code (CSharp):
    1. vScaler.vector3Value = Vector2Slider(vScaler.vector3Value, Vector2.one, "[Scale]",
    2.                     -Iso2DObjectEditor.Max_Slider *  Vector2.one, Iso2DObjectEditor.Max_Slider * Vector2.one, iWidth);
    to
    Code (CSharp):
    1. vScaler.vector3Value = Vector3Slider(vScaler.vector3Value, Vector3.one, "[Scale]",
    2.                     -Iso2DObjectEditor.Max_Slider *  Vector3.one, Iso2DObjectEditor.Max_Slider * Vector3.one, iWidth);
    B. line: 87 in RegularColliderEditor.cs (Assets/Anonym/MapEditor/editor/)
    Code (CSharp):
    1. _spIso2DScaleMultiplier.vector3Value = Util.CustomEditorGUI.Vector2Slider(
    2.                             _spIso2DScaleMultiplier.vector3Value, _t.coordinates.grid.TileSize,
    3.                             "Scale", Vector3.one * 0.1f, v3Max, mfWidth);
    to
    Code (CSharp):
    1. _spIso2DScaleMultiplier.vector3Value = Util.CustomEditorGUI.Vector3Slider(
    2.                             _spIso2DScaleMultiplier.vector3Value, _t.coordinates.grid.TileSize,
    3.                             "Scale", Vector3.one * 0.1f, v3Max, mfWidth);
    C. Fix the Tile Prefab
    Tile Prefab Path: "Assets/Anonym/MapEditor/prefab/Isometric/Iso_Tile.prefab"
    Drag the prefab to the Hierarchy Window to create an instance.
    • Click the Reset (1.0, 1.0, 1.0) button on the RegularCollider Commponent in root's child.
    • Click the Reset (1.0, 1.0, 1.0) button in the Iso2DObject Commponent in RegularCollider's child.
    Select the Iso_Tile object in Hierarchy and click the Apply button at the top of the Inspector to apply the changes to the prefab.​
     
    Last edited: Jan 20, 2018
  5. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    It worked well!
    upload_2018-1-20_14-11-18.png
     

    Attached Files:

  6. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Bug Fix (v.1.1.1)
    Tile Extrude handle does not work under certain conditions
    • Unity runs as a 2D project
    • Select the tile while the 2D toggle of the SceneView is on
    • If you turn off the 2D toggle at least once before selecting the tile, no problem occurs.
    Assets\Anonym\MapEditor\editor\IsoTileEditor.cs
    Replace the handle_Editor and HandleDraw function with the source below.
    Code (CSharp):
    1. void handle_Editor(string handleName, Vector3 _direction, Color _color, bool _active)
    2.         {
    3.             Vector3 handlePosition = handlePosition_Centor + fHandleSize * _direction * fHandleOffsetSize;
    4.             if (_tile_Scene != null)// && _tile.coordinates.IsLastTile(_direction))
    5.             {
    6.                 int controlID = GUIUtility.GetControlID(handleName.GetHashCode(), FocusType.Passive);
    7.                 if (_active)
    8.                 {
    9.                     Handles.color = _color;
    10.                     Handles.DrawLine(handlePosition_Centor, handlePosition_Centor + fHandleSize * _direction);
    11.                  
    12.  
    13.                     if (bSingleCtlr)
    14.                         Handles.FreeMoveHandle(controlID, handlePosition,
    15.                             Quaternion.identity, fHandleSize * 0.15f, Vector3.zero, Handles.RectangleHandleCap);
    16.                     else
    17.                         Handles.FreeMoveHandle(controlID, handlePosition,
    18.                             Quaternion.identity, fHandleSize * 0.25f, Vector3.zero, Handles.SphereHandleCap);
    19.  
    20.                     if (GUIUtility.hotControl == controlID)
    21.                     {
    22.                         float fDragDistance = HandleUtility.CalcLineTranslation(
    23.                             HandleUtility.WorldToGUIPoint(handlePosition),
    24.                             Event.current.mousePosition, handlePosition, _direction);
    25.  
    26.                         float fHurdleDistance = Vector3.Scale(_direction,
    27.                             _tile_Scene.coordinates.grid.GridInterval).magnitude;
    28.  
    29.                         _tile_Scene.Bulk.Do_With_SensorOff(() =>
    30.                         {
    31.                             if (fDragDistance >= fHurdleDistance)
    32.                                 handle_Extrude(_direction, selectionType, bSingleCtlr, bWithAttachment);
    33.                             else if (fDragDistance <= -fHurdleDistance)
    34.                                 handle_Press(-_direction, bSingleCtlr);
    35.                         });
    36.                         _tile_Scene.Bulk.Update_ChildList();
    37.                     }
    38.                 }
    39.                 else
    40.                 {
    41.                     Handles.color = _color / 1.5f;
    42.                     Handles.FreeMoveHandle(controlID, handlePosition,
    43.                         Quaternion.LookRotation(_direction), fHandleSize * 0.1f, Vector3.one, Handles.DotHandleCap);
    44.                 }
    45.             }
    46.         }
    Code (CSharp):
    1. void HandleDraw()
    2.         {
    3.             handle_Init();
    4.  
    5.             if (_E_Mode == EditorMode.Extrude)
    6.             {
    7.                 handle_Editor("DH_Right", Vector3.right, Handles.xAxisColor, bRightEdge);
    8.                 handle_Editor("DH_Left", Vector3.left, Handles.xAxisColor, bLeftEdge);
    9.  
    10.                 handle_Editor("DH_Up", Vector3.up, Handles.yAxisColor, bUpEdge);
    11.                 handle_Editor("DH_Down", Vector3.down, Handles.yAxisColor, bDownEdge);
    12.  
    13.                 handle_Editor("DH_Forward", Vector3.forward, Color.cyan, bFowardEdge);
    14.                 handle_Editor("DH_Back", Vector3.back, Color.cyan, bBackEdge);
    15.             }
    16.         }
     
    Last edited: Jan 22, 2018
    Shilo likes this.
  7. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    V.1.1.2 is Online Now

    [Bug Fixed]
    Extrude Handle dose not work under certain conditions.
    Scale.z issue for using with other shader.
    UI Color for profesional skin users.
     
    Shilo likes this.
  8. Shilo

    Shilo

    Joined:
    Jun 8, 2014
    Posts:
    20
    @Nonym

    I have been window-shopping to see what 2d isometric engine I should buy. This looks like the best option and I hope to buy it shortly. Please keep up the great work! I am excited to buy and use it.

    I think the 2 big pros with this asset, compared to the other similar assets, are:
    - works with unity's built-in components
    - map editor
    Both of which are a must in my eyes.

    My goal is to create a multiplayer-based isometric game. From the looks of it, this video looks like it a networked-based game:


    Is the above a multiplayer example? If so, can you give more details on how you implemented the networking with your asset? Is there by chance a sample scene in the asset with this exact demo, or a playable demo? (I know this is outside of the scope of the asset, but it doesn't hurt to ask!)

    Also, it seems your asset is the only isometric asset that includes a map editor, which is great!
    Do you have any plans to make it more "2d rapid-creation friendly" such as a more click-based grid-based map editor? Exactly like Unity's new tilemap feature, "Super Tilemap Editor" asset, or "Tiled" map editor application? If not, would it be possible for a user to extend your asset to allow a more rapid-creation friendly tilemap editor? I'm not sure if I am describing it properly, but I do notice there's a pretty big difference between the functionality of your map editor compared to a more standard 2d map editor.

    One last question: Does your asset include a sample with a 2d character controller? I have no interest in adding 3d models to my 2d project.

    Sorry for all the questions and thank you! Looking forward to new updates!
     
    Nonym likes this.
  9. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    @Shilo
    Thanks for asking.
    but, please wait a few more days.
    Sorry, I am too busy to reply now.
    I will come back as soon as I finish what I do now.
     
    Shilo likes this.
  10. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    @Shilo
    I'm back!
    Sorry to have kept you waiting so long.
    First of all, English is not my native language. I try hard to make sentence. Please understand my ugly English.

    I really appreciate your feedback.
    But, this asset is not perfect one like the others.
    Definitely, there are not only advantages but also disadvantages.
    Therefore, carefully review the videos and documentation provided before purchase to ensure that they are suitable for your project.

    Yes, now it's the answer to your inquiry.
    I hope this would be answer for you.

    Multi player
    That YouTube's "MultiPlayScene" is my personal project.
    So, the scene is not part of this asset.

    https://unity3d.com/learn/tutorials/s/multiplayer-networking
    I recommend this guide. I also implemented it with this guide.
    Do step by step. It is not very difficult.

    I brief the points I remember.

    Project
    • Set the Unity Multiplayer in services window.
    • Prepare the components for the server / client
    Object
    • Use NetworkBehaviour instead of MonoBehaviour
    • Add NetworkIdentity
    • Using NetworkTansform instead of Transform
    • Using NetworkAnimator instead of Animator
    New feature about tile map
    It is true that this asset has less features compared to good map editors.
    I remember when I used the Tiled editor it was really gooooood.

    So, when I saw the new features of Unity for tile maps, I immediately began to imagine how to connect them to my assets. There is no progress yet, but I'm sure it will be added some day(Maybe not in the near future).​

    Possible for a user to extend
    All sources are open for user to expand.
    Expansion is possible for private use, but public sharing is not allowed.
    Because, as you know, this is a paid asset.

    Unfortunately, I thought of this as a tool for designers when creating assets, I focused on making it available without coding. So, there is no class document. I'm sorry for that.​

    2D character controller
    The character controller included in the asset is not related to the character resource type.
    So, you can use both 2D and 3D resources.

    This asset builds Isometric world on 3D. It just looks like a 2D because isometric viewport. So, it need a 3D character controller.

    The Isometric Character Controller is based on Unity's character controller, which works on 3D coordinates. It checks the collision with the map object and moves the character to fit the Isometric view. So it looks 2D.

    I've already planned for future updates, but I always try to incorporate user feedback into the update. Please mail me anytime.

    Thank you.
     
    Shilo likes this.
  11. Shilo

    Shilo

    Joined:
    Jun 8, 2014
    Posts:
    20
    @Nonym
    Thank you so much for the detailed response! Your english isn't bad at all. :)

    As with you, I also have very little time to give a detailed reply in turn, but I really appreciate your detailed response. Thank you for going above and beyond with the help. It definitely confirms my thoughts on the topics! Its also re-assuring to have a developer that will put focus on the users.

    At the moment my focus has shifted to another project that's non-unity and non-isometric based, but I still plan on purchasing your asset and trying to implement multiplayer with UNet or with Photon at some point. I may also check out the tutorial you linked, to try out UNet again (its been a long time).

    Can't wait to see the progress on your personal project, if you plan on showing it to the public.
    Thanks again and keep up the good work!
     
  12. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    [v.1.2.1] Pending review.
    The color calculation of IsoLight (1.2.0) has been improved.
    Fixed a null reference problem that temporarily remained when IsoLightReciver was deleted. And, IsoLight tutorials are also uploaded to Youtube.
    thank you.
     
  13. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    [v.1.2.1 Custom Fix for 2017.1 or 2017.2]
    Users using this version may experience the following problems.
    There is currently a compile error in Unity 2017.1 and 2017.2.
    Assets / Anonym / MapEditor / editor / IsoTileEditor.cs (311,28): error CS1501: No overload for method `FreeMoveHandle 'takes` 6' arguments
    If you can not use by this problem, modify it as follows.

    Modify UNITY_2017_1_OR_NEWER
    in lines 258, 276, and 312
    of the Assets / Anonym / MapEditor / editor / IsoTileEditor.cs file
    to UNITY_2017_3_OR_NEWER.

    I will upload the modified version to 1.2.2 as soon as possible.
    Sorry for the inconvenience.
     
  14. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
  15. Loofou

    Loofou

    Joined:
    Aug 22, 2012
    Posts:
    25
    So I am looking for an isometric map solution, mainly for a 2D game I am working on and I stumbled upon this asset. I tested two other big isometric toolkits already and both have different problems that make it very hard for me to work with them. This time I thought I might just ask before I buy if the asset has what I need.

    I am mainly generating my maps procedurally at runtime and I will generate quite big maps. not endless, but something like 100x100 should easily be handled by the tool without performance issues.

    So my two main concerns are:
    1. How easy is it to use your tool at runtime from code? I am not interested in a level editor, I just need proper sorting and batching.
    2. How good is your tool performance-wise? Can it handle big maps? I saw that you have some kind of baking tool for collisions (I think) and navmeshes. Can this also be done at runtime? If so, how long does it usually take on a regular mid-core machine? Seconds or Minutes or more?

    I hope you can answer my questions. If your tool can handle my use-case I am happy to buy it!
     
    Nonym likes this.
  16. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Hi, Loofou.
    Thank you for your question.

    It was not easy to answer because the content of the question was deep. I hope you have a good answer regardless of asset purchase.

    I have been purchasing more than a thousand dollars of assets for years. All assets were not perfect, and applying to individual projects was not an easy task. Perhaps this asset has the same limit. So, instead of Yes or No, I want to briefly describe the mechanism.

    It's easy to use at runtime, but the speed depends on your skill.

    The result of this tool is GameObject Prefab. There are no components of Isometric Builder in it. All are unity-native components such as Transform, SpriteRenderer, NavMesh, Atlas, and BoxCollider. Users can load or unload map prefab at runtime in the usual way using other prefabs. How efficient this is is independent of this tool and can vary greatly depending on the developer's Unity expertise. This can vary depending on the map structure, size, game style, platform, and so on. That part is outside my asset scope.

    Creating meshes needed for NavMesh can be used at runtime, but it is slow. It will take tens of seconds to create a mesh in real time by loading 100 x 100. If a project requires 100 x 100 units and many of these are loaded / unloaded in real time, then no asset would be enough. Basically, it seems to be a scale that does not consider optimization at all. You can get the same view with good performance by organizing huge blocks into small blocks and creating pre-baked NavMesh for each block to eliminate unnecessary real-time tasks. This is a common way to implement games that require large maps. This also depends on the developer.

    Our assets help build maps and create navigational meshes, but they are not real-time seamless-world engines. It only removes dedicated components for smooth connections between different assets or projects and supports leaving unity-native elements. In fact, the fewer real-time functions, the fewer conflicts with other assets or projects.
     
    Last edited: Apr 6, 2018
  17. Loofou

    Loofou

    Joined:
    Aug 22, 2012
    Posts:
    25
    Hey, thanks for the answers so far!

    So basically, your tool does not provide something like an isometric tilemap component, which batches individual tiles into a single mesh or anything. It is mainly an editor and otherwise just prefabs are spawned. How is sorting handled then? Just a clever use of SortingGroups and Z layer?

    Baking the navmesh would've been a nice-to-have, so it is not that important actually. I was thinking of doing my own Hierarchical Pathfinding System anyway.

    I am actually mainly concerned with colliders and meshes. I don't want to have 400000 (on a 200x200x10 map, of course I won't use every single cell, just as an example) separate GameObjects with each rendering on it's own and having colliders on it's own. I'd rather have the sprites combined in a smart way depending on height-layer or chunk-based or something similar.

    From the videos it looked like your tool provides something like a chunk-system which automatically batches all it's tiles together. If this is not the case and just a way to divide up the map for easier handling in the editor, please let me know. In that case your tool is not what I am looking for.

    Thank your for your time answering my questions! And especially thank you for not trying to convince me to buy your asset but rather give me what I need to make an informed decision. Not every asset creator does this.
     
    Nonym likes this.
  18. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    I just really hope you find a good tool, not mine, and make a good game.
    As noted on the forum, English is not my first language. So it was really hard to write this answer. It took more than three hours! Even if something is missing or misunderstood, please understand.

    The initial version used to automatically calculated Sorting Order according to the object's position. However, We do not use Sorting Order now. Just let it render by depth order. User can use it as they want. Below is the reason.

    This tool places the sprite in three dimensions. Because of the depth difference in the 3D Projection, everything is drawn naturally if the sorting order is the same. Sorting order is not essential. Depending on the project, the Sorting Order can be used for a variety of purposes. Therefore, we do not force user to use Sorting Order.​

    I will also talk about the most important Rendering Speeds. The important thing is the number of times the context is switched during rendering. This occurs according to the combination of sequence (depth or sorting order) and atlas configuration. If the depth replaces the sorting order, the last thing that matters is the Atlas.

    Let's take an example of Batch.
    Previously, many develpers were obsessed with Drawcall as everything of the game.
    Unity concerned about this, they changed the Drawcall to a more comprehensive concept called Batch.​

    Most of the maps I've worked on recently have thousands of tiles.
    Each Tile is a GameObject and has some childs like the BoxColliders or SpriteRenderers.
    When they are composed of a single Atlas and rendered by depth order,
    CPU Render Thread is less than 1 ms and works in 2~3 batches.
    This value means that Unity's optimization is not bad when we use Unity's own features well. That is, the absence of chunked output for rendering does not mean slow rendering. Even atlas is fast enough. Rather, there are less constraints and procedures. So, we can easily apply more powerful other rendering solutions as needed.​

    I think the interchangeable intermediate results are better. This can maximize Unity's basic advantages (for using Unity's-optimization techniques and connect with other assets). The following items are also in the same context.

    Three-dimensional position

    Since no isometric projection matric are required, other pathfinding algorithms are easy to use. And Sorting Layer and Order can be used for a variety of purposes.
    Unity Collider & NavMesh

    Collider are basically faster than MeshCollider. Especially if it is static, even if there are thousands of Colliders, it is not burdened.
    If the map is very-very huge or the platform performance is very low, creating a NavMesh can resolve all collisions and pathfinding at once.
    Atlas support tool

    We do not add a specific object export feature for rendering, but instead provide a tool to make atlas work easier.​

    Sorry, I do not know exactly what you mean. I have provided many tutorial videos. If you have comments or questions about this, please attach a video link. Then I think it is easy to understand.
     
    Last edited: Apr 8, 2018
  19. Loofou

    Loofou

    Joined:
    Aug 22, 2012
    Posts:
    25
    Thank you very much for your answer! I really appreciate the time you put into answering me. I am sorry if my questions maybe used too complex sentences and made it harder for you to understand. Fun fact: English is also not my native language but I am doing my best to constantly improve :)

    And about the last point: I think I misunderstood what the "Collection Bulk" is that you provide. I assumed it would batch objects together, but seems to be a very convenient prefab.

    One last note about performance: Rendering performance is only part of the issue. GameObject overhead can be a different beast. Especially on low-powered CPUs, just having to create the batches/drawcalls can take quite a bit of time on the CPU, even if rendering itself is fast afterwards. So batching multiple objects into a single GameObject can have benefits there. I agree that it might not be necessary for most projects, though, maybe not even for mine.

    I think all my questions are answered! Thank you very much! I think about trying your asset, maybe I can utilize parts of it in a different way, who knows. The Atlas tool looks interesting for example.

    Again, thank you!
     
    Nonym likes this.
  20. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    I'm glad you're here now. As I continued to edit the post, I was not able to fix it because it was caught by a spam check. It was a related your comment, cpu bound things. I was worried about misconception, but you seem to be an experienced developer. Now I have no worries. Good luck!
     
  21. dastardlyvandal

    dastardlyvandal

    Joined:
    Mar 29, 2017
    Posts:
    1
    Hey! Quick question.

    In the sample scenes included, specifically "5.1 IsoLight", the plaer snaps to each tile when moving.

    Is it possible when using this so the player doesn't snap to a tile?

    Thanks!
     
  22. cel

    cel

    Joined:
    Feb 15, 2011
    Posts:
    46
    this looks great... do 3d physics work on this??
     
  23. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Sorry for the delay.

    All the values that set the character movement are in the IsometricCharacterController.
    You can manipulate the variables in the Inspector.

    bSnapToGroundGrid
    Stop on integer coordinates of grid On / Off

    fSpeed
    Moving distance on command once
    When bSnapToGroundGrid is On, the minimum integer value higher than fSpeed is used.
    If bSnapToGroundGrid is Off, you can use a value lower than 1.

    fSpeedOfMovement
    If the value is high at the speed at which the character moves, it moves like a momentary movement.
    If it is 1, it will take 1 second to reach 1 distance.

    I hope this helps.
     
  24. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Yes, it works.
    This asset places Isometric in 3D space.
    All tiles also have a BoxCollider that is automatically created for the grid. That's why 3D Physisc works right away.
     
    Last edited: Apr 29, 2018
  25. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    There are many inquiries about this feature, so I added a sample scene(7.1 CharacterControllers) to the latest version (V.1.2.4).
    IsometricMovement, IsometricCharacterController, IsometricNavMeshAgent.
    If bSnapToGroundGrid is set to false and bContinousMovement is set to true, it will work as you wish.


    And, If the b8DirectionalMovement option at the top and bUseDiagonalKey of the KeyInputAssist component is set to true, then 8-way movement is also possible.


    I hope this helps.
    Please feel free to contact us anytime you need.
     
  26. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    When the bSnapToGroundGrid == false, the tile graphic and the character's SortingOrder can be rendered strangely. So, I wrote below about a solution that can occur on this condition.
    If the size of the character is similar to the size of the tile, it will be resolved by adjusting the Depth of character Sprite in the IsoHierarchyWindow(menu window/Anonym/...).
    Otherwise, if the character is twice as big as the tile, I'm sorry, but It needs the new features to be added to the next update. I'm on making youtube tutorial about this.
    Please keep in sight my YouTube tutorial channel and asset updates.
     
  27. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    There is a Missing Prefab Bug in the tutorial scene of the current release version (v.1.2.4). If possible, please use the latest version of Unity. The latest version can be used without problems. I will update the bug as soon as possible. Sorry for the inconvenience.
     
  28. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Missing Prefab Bug has been resolved.
    Please update from the Asset Store to v.1.2.5.2.
     
  29. januarelsan

    januarelsan

    Joined:
    Sep 19, 2015
    Posts:
    2
    Hi..

    Why if i create multiple Nav Mesh Agent and IsoCharacter 2D, everything (Iso Nav Mesh Agent and IsoCharacter 2D) is missing from my hierarchy, except only one left.

    Example, i create 1 player (IsoCharacter2D) and 5 enemy (Iso Nav Mesh). Everything is missing, only one character left. And its random, sometimes 1 player left, and sometimes 1 enemy left.

    What happened? Can you solve it?
     
  30. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    One speculation came to mind about the problem you are having.
    Perhaps the KeyInputAssist problem.

    public class KeyInputAssist: Util.Singleton <KeyInputAssist>

    This is a sample script I made to help users use it.
    It is a singleton that takes keyboard / mouse input and passes it to the registered target IsometricMovement.
    Here, a singleton is a class that is controlled so that there is only one instance in the scene. So the rest seems to be erased automatically.
    This is the cause of the problem. Perhaps every character you work with will have a KeyInputAssist component.

    Like "Tutorials / 8.1 IsometricSortingOrder / TallCharacter.prefab", KeyInputAssist can exist separately from character.
    To create multiple characters, you need to separate the KeyInputAssust from your character like the 8.1 scene, and register the player character you want to control in the target field of KeyInputAssist.

    I hope this is an appropriate answer.
     
  31. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Herer is a bug fixes in the current version, v.1.2.5.2.
    When Auto ISO is used, there is a problem that "SortingOrder" of "IsoTile" is calculated improperly.

    Line 104 of RegularCollider.cs
    Code (CSharp):
    1. pos += boxCol.GetStatelessBounds (). center;
    Change the code as shown below.
    Code (CSharp):
    1. pos = boxCol.GetStatelessBounds (). center;
    Doing so will calculate the SO normally when using Auto ISO.
    It will fixed in next update v.1.2.5.2.1.
    Sorry for the inconvenience.
     
    Last edited: Jul 1, 2018
  32. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    V.1.3.6 is Online Now
    Website tutorial improvements will follow.

    [New]
    IsoBasis

    [Imporved]
    Now we can instantiate the IsoBulk on runtime with AutoISO Mode
    Auto ISO
    Gizmo
    and minor bug fix
     
  33. cylynex

    cylynex

    Joined:
    Mar 19, 2018
    Posts:
    3
    Sorry, but is there any actual documentation to follow? The youtube videos are way too fast to understand what is going on, and the lack of a spoken track makes you rely on reading the subtitles, which means you can't see what the mouse is even doing. But you can't anyway, because the videos appear to be sped up so it's really difficult to understand what is going on. The powerpoint does not really detail the features, it seems to skip around a lot as well. I can't find anything that is actual hard documentation explaining what all the features are and what they do.

    Thanks
     
  34. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Hi, @cylynex !
    I am sorry about that, actually some users are having difficulty catching concepts early on. Actualy, there have been dozens of inquiries. These are about 10% of our customers. They had difficulty learning some usage. So, I provided some private documents and YouTube guide for each of them. So, they could found what they needed. If you have any questions, please feel free to email me, hg.studio.one@gmail.com. We will give you a detailed reply immediately.

    And, there are too many features in this asset to create a detailed docs. But through common questions, I was able to imagine the good guide that is most needed for them. So we are currently making the this guide. It is expected to take 1 ~ 2 weeks. Please look forward to.
     
    Last edited: Aug 2, 2018
  35. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    There is a problem in the V.1.3.6.1 that Overlay Attachment is checked as OnGroundObject. Also, the OnGroundObject option of IsoBasis is not applied.
    This is fixed in V.1.3.6.3, which is now under review.
    We apologize for the inconvenience.
     
  36. mfaizanattique

    mfaizanattique

    Joined:
    Jan 27, 2015
    Posts:
    5
    I am getting the following error when i add the Iso Map script to game object

    NullReferenceException: Object reference not set to an instance of an object
    Anonym.Isometric.IsoMapEditor.OnInspectorGUI () (at Assets/Anonym/MapEditor/editor/IsoMapEditor.cs:147)
    UnityEditor.InspectorWindow.DrawEditor (UnityEditor.Editor[] editors, Int32 editorIndex, Boolean rebuildOptimizedGUIBlock, System.Boolean& showImportedObjectBarNext, UnityEngine.Rect& importedObjectBarRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1374)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    What could be wrong and Also i am not able to assign camera to [Game Camera]
     
  37. mfaizanattique

    mfaizanattique

    Joined:
    Jan 27, 2015
    Posts:
    5
    I just purchased it now i am trying to play with it
     
  38. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Hello @mfaizanattique , Thank you for choosing this asset.
    This asset needs a special way to get started.
    You can find the procedure on the guide page linked below.
    There are two PPT files on this page. Both describe how to initialize.
    https://hgstudioone.wixsite.com/isometricbuilder/doc-1

    If you have any additional questions, please send us an email. I will give you more details.
    hg.studio.one@gmail.com
     
  39. gotenxds

    gotenxds

    Joined:
    Sep 22, 2018
    Posts:
    12
    Hi, I'm trying to make a 2d isometric style game that doesn't actually use a tile system. What I mean is, I want to take a large isometric grid and draw on it completely freely without making repeatable tiles and only make it look and feel as isometric.

    Is there a way for me to use your plugin to create such a game ?
     
  40. yy348

    yy348

    Joined:
    Sep 13, 2018
    Posts:
    1
    @Nonym

    I am new to Unity and am building a simple isometric game. I want to export my current build, though I keep on receiving the same compile errors:
    upload_2018-9-24_13-53-57.png
    Has this issue occurred before and if so, what it the best method to resolve it?

    Your assets are awesome by the way, and I'm excited to experiment with them!
     
  41. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Hello, @yy348 .
    I am sorry for that inconvenience.
    I made a mistake in the last update.
    The fix will be applied to the next update.

    If you need to fix build errors before, try the following:
    Wrap a part of IsometricSortingOrder.cs below with #if UNITY_EDITOR and #endif.
    upload_2018-9-25_10-13-4.png
     
  42. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Hi, @gotenxds .
    Sorry for the delay. We are in the biggest holidays of our culture. : D
    Unfortunately, this asset is not appropriate for making huge maps. It is the best asset for decorate a not-big size map with three-dimensionally. Therefore, I can not recommend to you.
    I recommend Unity 2018.3 beta. There is a new feature that will help you.
    good luck.
     
  43. unity_HbUp-esUE1WOhA

    unity_HbUp-esUE1WOhA

    Joined:
    Mar 19, 2018
    Posts:
    1
    Hi,

    I found it a very great tool to help develop my game, but there is one problem which i find pretty difficult to sovle at the moment,

    The game I am making now is a squad tactical game like divinity origin sin (non-grid-based), everything works smoothly until i added multiple characters, there is only 1 unit could be displayed on the screen, what i want to to is to select one unit, gives him order(click to move).

    As the test, I duplicated IsoCharacter2D from tutorial scene 6.1 NavMesh.

    what I possibly did wrong? Any suggestion to implement this feature? Is it possible to use NavMesh Agent?

    regards.
    upload_2018-10-18_19-20-17.png


    upload_2018-10-18_19-20-35.png

    (PlayMode
     
  44. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Hi, @unity_HbUp-esUE1WOhA !
    Thank you for choosing this tool!!

    In Scene 6.1, KeyInputAssist is included in the character instance. So when the number of characters increases, KeyInputAssist deletes additional instances to keep Singleton.

    Please see the link below.
    https://forum.unity.com/threads/rel...-map-editor-for-3d-world.512111/#post-3550063

    As in Scene 8.1, you can solve by separate the character from the KeyInputAssist.
    1. Copy the KeyInputAssist component of the Character instance
    2. Create a new GameObject for the singleton in the scene
    3. Paste the copy to the new GameObject
    4. Replicate Character Prefab, For keeping the original.
    5. Delete KeyInputAssist on the new Character Prefab
    6. Create multiple characters using new Character Prefab
    7. Assign the character that you want to move to Target of KeyInputAssist

    Sorry, but the method to select a character is not included in the asset.
    You have to make it yourself.

    I hope this helps.

    Regards,
    Anonym

    Technical Support
    https://hgstudioone.wixsite.com/isometricbuilder
     
    Last edited: Oct 18, 2018
  45. watercolorheartdev

    watercolorheartdev

    Joined:
    Sep 25, 2017
    Posts:
    17
  46. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    There are two ways to modify it. However, both methods require that the SpriteRenderer component is not in the root GameObject.
    As discussed in Discord, If you move the SpriteRenderer to a child, you can adjust its depth with the Isometric Heirarchy Helper.
     
  47. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Currently, some errors occurs repeatly when using Open Prefab in the new Prefab in 2018.3. If possible, please use official versions (2018.2 or lower).
    And, we will be updating the V.2.0 that supports Prefab Workflow of Unity 2018.3 and the new fantastic brush interface soon.
     
  48. pizzaman300

    pizzaman300

    Joined:
    Aug 13, 2017
    Posts:
    2
    Hello!
    Thank you for your tool. I'm new to it but I find it really helping!

    I had to add the line "bUseParameterForAnimator = true" in Start() method of IsometricMovement.cs in order to play animations. It would be cool if it was made automatically when animator != null. (-:

    And I wonder how do I use the tool for NPC's movements? I mean what functions I have to call in order to make them move?

    Thanks
     
  49. Nonym

    Nonym

    Joined:
    Oct 18, 2014
    Posts:
    49
    Hi, @pizzaman300 !
    Thank you for choosing this tool and contacting us.

    You've found yourself a way to understand and use bUseParameterForAnimator. great!

    I just add a little bit of explanation.
    upload_2018-12-2_10-37-55.png
    If the Animator of the component is not None, you can also Toggle it on the Inspector, like 3-character prefabs in below path.
    "Anonym/MapEditor/Scene/Tutorials/7.1 characterControllers/"
    Iso CharacterController Sample.prefab
    Iso Movement Sample.prefab
    Iso NavMeshAgent Sample.prefab

    And the function to move the character can be found in KeyInputAssist.cs.
    If you use pathfinding of NaviMesh, then void ClickToMove ()
    Or if you just want to move one tile by specifying the direction, then void EnQueueTo (InGameDirection direction)
    Or if you want to move to the desired location immediately, then DirectTranslate of void ContinuousMove (InGameDirection direction)
    will be good reference.

    I hope this helps. If you have any questions, please feel free to contact us.
    E-mail is also welcome.
     
  50. pizzaman300

    pizzaman300

    Joined:
    Aug 13, 2017
    Posts:
    2
    Thank you for the quick answer!
    Function EnQueueTo meets my needs for player movements pretty well. However I could not use KeyInputAssist for NPCs because there may be only one instance of it and that instance may have only one target.

    I edited KeyInputAssist class the next way:
    1. It's no longer is derived from Util.Singleton <KeyInputAssist>
    2. I added a [SerializeField] variable isPlayer
    3. I added a KeyInputAssist variable playerInstance which references to this script if isPlayer equals true
    4. In Update() method first of all I also check if isPlayer is true.

    My solution isn't nice and neat but it fits all my needs for NPC characters perfectly. Now in enemy scripts I just tell them what direction they should take:
    Code (CSharp):
    1. GetComponent<KeyInputAssist>().EnQueueTo(<direction>)
    Thanks again!