Search Unity

  1. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  2. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  3. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  4. Participate with students all over the world and build projects to teach people. Join now!
    Dismiss Notice
  5. Build games and experiences that can load instantly and without install. Explore the Project Tiny Preview today!
    Dismiss Notice
  6. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  7. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Unite Austin Technical Presentation

Discussion in 'Entity Component System and C# Job system' started by MartinGram, Mar 20, 2018.

  1. MartinGram

    MartinGram

    Unity Technologies

    Joined:
    Feb 24, 2017
    Posts:
    35
    Unite Austin Technical Presentation




    As part of the preview release of the Entity Component System, we have worked with our friends from Nordeus to make available a version of the technical presentation we showed at Unite Austin.

    A cut down version of the presentation is available on Github. Our focus has been to provide you with an updated version that utilises the latest Entity Component System and to make available a functioning shader for texture driven vertex animation. This version is not graphically equivalent of the presentation that took place at Unite Austin.

    Click here to access the Unite Austin Technical Presentation

    You can find a walkthrough of the development of the Nordeus Demo
     
  2. sebas77

    sebas77

    Joined:
    Nov 4, 2011
    Posts:
    595
    I'd like to check the source code
     
  3. MartinGram

    MartinGram

    Unity Technologies

    Joined:
    Feb 24, 2017
    Posts:
    35
  4. MstislavPavlov

    MstislavPavlov

    Joined:
    Sep 22, 2013
    Posts:
    4
    Where i can get b12 version(used in presentation)?
     
  5. gamevanilla

    gamevanilla

    Joined:
    Dec 28, 2015
    Posts:
    688
    You can download it from here.
     
  6. sebas77

    sebas77

    Joined:
    Nov 4, 2011
    Posts:
    595
    how come are there two versions? The full one runs only on I9s?
     
  7. Joachim_Ante

    Joachim_Ante

    Unity Technologies

    Joined:
    Mar 16, 2005
    Posts:
    4,193
    The original demo we showed at Unite Austin used a lot of assets from Nordeus's games.
    So in order to release it we stripped the assets down to what we can release publicly and made for example new FX from scratch.
     
  8. sebas77

    sebas77

    Joined:
    Nov 4, 2011
    Posts:
    595
    OK so code wise it's the same, that's what I needed to know thanks!
     
  9. MikeJH

    MikeJH

    Joined:
    Aug 15, 2012
    Posts:
    9
    Any jobs using NavMeshQuery must be completed before we mutate the NavMesh.
    I do not know how to fix it.
     
  10. Joachim_Ante

    Joachim_Ante

    Unity Technologies

    Joined:
    Mar 16, 2005
    Posts:
    4,193
    NavMeshWorld.GetDefaultWorld().AddDependency(JobHandle)

    should be used when scheduling a job that queries a navmesh, we will fix places where it doesn't in the demo.
     
  11. MikeJH

    MikeJH

    Joined:
    Aug 15, 2012
    Posts:
    9
    THX.
     
  12. MikeJH

    MikeJH

    Joined:
    Aug 15, 2012
    Posts:
    9
    When I run the NordeusDemo. Some ERROR appearance.

    ArgumentException: This visualElement is not my child
    UnityEngine.Experimental.UIElements.VisualElement+Hierarchy.Remove (UnityEngine.Experimental.UIElements.VisualElement child) (at C:/buildslave/unity/build/Modules/UIElements/VisualElementHierarchy.cs:285)
    UnityEngine.Experimental.UIElements.VisualElement.Remove (UnityEngine.Experimental.UIElements.VisualElement element) (at C:/buildslave/unity/build/Modules/UIElements/VisualElementHierarchy.cs:103)
    UnityEditor.GUIView.OnDisable () (at C:/buildslave/unity/build/Editor/Mono/GUIView.cs:177)
    UnityEditor.HostView.OnDisable () (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:81

    Couldn't call method UNetDomainReload because the class NetworkIdentity or method couldn't be found.

    ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
    System.Reflection.Assembly.GetTypes () (at <80e2a14930c247a2a3202625addf097a>:0)
    UnityEngine.Experimental.UIElements.Factories.DiscoverFactories () (at C:/buildslave/unity/build/Modules/UIElements/UXML/VisualElementFactory.cs:58)
    UnityEngine.Experimental.UIElements.Factories.RegisterFactory (System.String fullTypeName, System.Func`3[T1,T2,TResult] factory) (at C:/buildslave/unity/build/Modules/UIElements/UXML/VisualElementFactory.cs:31)
    UnityEngine.Experimental.UIElements.Factories.RegisterFactory[T] (System.Func`3[T1,T2,TResult] factory) (at C:/buildslave/unity/build/Modules/UIElements/UXML/VisualElementFactory.cs:37)
    UnityEditor.Experimental.UIElements.UXMLEditorFactories.RegisterAll () (at C:/buildslave/unity/build/Editor/Mono/UIElements/Controls/UXMLEditorFactories.cs:18)
    UnityEditor.GUIView.get_panel () (at C:/buildslave/unity/build/Editor/Mono/GUIView.cs:42)
    UnityEditor.GUIView.get_visualTree () (at C:/buildslave/unity/build/Editor/Mono/GUIView.cs:56)
    UnityEditor.GUIView.OnEnable () (at C:/buildslave/unity/build/Editor/Mono/GUIView.cs:170)
    UnityEditor.HostView.OnEnable () (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:74)
    UnityEditor.DockArea.OnEnable () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:11

    ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
    System.Reflection.Assembly.GetTypes () (at <80e2a14930c247a2a3202625addf097a>:0)
    Unity.Entities.DefaultWorldInitialization.Initialize (System.String worldName, System.Boolean editorWorld) (at C:/ProgramData/Unity/cache/packages/staging-packages.unity.com/com.unity.entities@0.0.11/Unity.Entities.Hybrid/Injection/DefaultWorldInitialization.cs:41)
    Unity.Entities.AutomaticWorldBootstrap.Initialize () (at C:/ProgramData/Unity/cache/packages/staging-packages.unity.com/com.unity.entities@0.0.11/Unity.Entities.Hybrid/Injection/AutomaticWorldBootstrap.cs:11)


    NullReferenceException: Object reference not set to an instance of an object
    TextureAnimatorSystemGui.OnGUI () (at Assets/Scripts/Rendering/TextureAnimatorSystemGui.cs:17)
     
  13. MikeJH

    MikeJH

    Joined:
    Aug 15, 2012
    Posts:
    9
    New errors

    Assets/Scripts/UIController.cs(5,19): error CS0234: The type or namespace name `UI' does not exist in the namespace `UnityEngine'. Are you missing an assembly reference?

    Assets/Scripts/UIController.cs(13,9): error CS0246: The type or namespace name `Image' could not be found. Are you missing `UnityEngine.Experimental.UIElements' using directive?
     
  14. KYL3R

    KYL3R

    Joined:
    Nov 16, 2012
    Posts:
    28
    I think you really need to use the b12 version linked above. I got it working. However I am missing the spells/arrows. Units walk around and fight as seen on Unite Austin. The arrows would be cool, but I can still learn from the other stuff.
     
  15. pbrito_unity

    pbrito_unity

    Joined:
    Mar 30, 2018
    Posts:
    11
    I got the demo running but the exposition effects are boxy.
    How can I correct this?
     
  16. manish191

    manish191

    Joined:
    Jul 6, 2017
    Posts:
    8
    Hi,
    I just downloaded the project. I am using unity version 2018.1.b13 version. Its giving error on the staging package assembly reference. Can we when this will be updated for 2018.1.b13 version?
     
  17. MartinGram

    MartinGram

    Unity Technologies

    Joined:
    Feb 24, 2017
    Posts:
    35
    We have not yet update the required build to 2018.1.b13. You can find the required build for the Entity Component System here
     
  18. manish191

    manish191

    Joined:
    Jul 6, 2017
    Posts:
    8
    Thanks @MartinGram. I have downloaded the project. Now its running. but some feature are missing from the actual presentation.
     
  19. MartinGram

    MartinGram

    Unity Technologies

    Joined:
    Feb 24, 2017
    Posts:
    35
    Which features in particular are you missing?
     
  20. FuzzyShan

    FuzzyShan

    Joined:
    Jul 30, 2012
    Posts:
    170
    Hi, I was able to get the demo working, I extracted the textureAnimatorSystem part and modified shader to support forward pass. Then I build it on android with Vulkan API, and it was perfect, showing 1000 soliders or many As I specified with my own spawnSystem ecs. Framerate is at 33(locked) doesn't matter if it is 100 soliders or 1000 soliders, however, seems my animation become very slow when my solider count increases.... I am not sure why this is happening? Is it because when firing up the jobs at start for baking the texture, the framerate is really low at that time?
     
    Last edited: Jul 17, 2018
  21. xarismax

    xarismax

    Joined:
    Jul 22, 2015
    Posts:
    5
    I am trying the demo with Unity 2018.2.0f2, which is the "Official" 2018.2 version, so bugs shouldn't appear.

    1) If i use com.unity.entities@0.0.12-preview6 or preview8 i get the following error:
    error CS1644: Feature `out variable declaration' cannot be used because it is not part of the C# 6.0 language specification

    2) If i use com.unity.entities@0.0.12-preview2 at least it compiles. But when i hit play:
    a. no units spawn with 'S' or fireballs shot with '1', '2'.
    b. console produces the following error
    ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
    System.Reflection.Assembly.GetTypes () at DefaultWorldInitialization.cs:69

    3) If i use com.unity.entities@0.0.12-preview4, it cannot find "bool1" class.

    4) Was i supposed to use com.unity.entities@0.0.11, as described in the manifest? I get the following error:
    com.unity.entities@0.0.11/Unity.Entities.Editor/ExtraTypesProvider.cs(6,32): error CS0234: The type or namespace name `Build' does not exist in the namespace `UnityEditor.Experimental'. Are you missing an assembly reference?

    It worked, after Following 4 with the guidelines in:
    https://forum.unity.com/threads/unity-2018-2-beta-1-and-ecs.527385/
     
    Last edited: Jul 19, 2018
  22. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    655
    1,2) Setup target .net to 4.x in PlayerSettings and use preview8.
    3) bool1/float1/int1 etc not exists anymore.
    4) It's moved outside Experimental namespace