Unite Austin Technical Presentation

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

11 Likes

I’d like to check the source code

The source code is available on Github by navigating via the provided URL: “Click here to access the Unite Austin Technical Presentation” or by manually going to GitHub - Unity-Technologies/UniteAustinTechnicalPresentation

4 Likes

Where i can get b12 version(used in presentation)?

You can download it from here .

how come are there two versions? The full one runs only on I9s?

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.

OK so code wise it’s the same, that’s what I needed to know thanks!

Any jobs using NavMeshQuery must be completed before we mutate the NavMesh.
I do not know how to fix it.

1 Like

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.

THX.

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.Func3[T1,T2,TResult] factory) (at C:/buildslave/unity/build/Modules/UIElements/UXML/VisualElementFactory.cs:31) UnityEngine.Experimental.UIElements.Factories.RegisterFactory[T] (System.Func3[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)

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?

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.

I got the demo running but the exposition effects are boxy.
How can I correct this?

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?

We have not yet update the required build to 2018.1.b13. You can find the required build for the Entity Component System here

Thanks @MartinGram . I have downloaded the project. Now its running. but some feature are missing from the actual presentation.

Which features in particular are you missing?

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?