Search Unity

Nothing but errors on install using samples manifest

Discussion in 'Entity Component System' started by FirstTimeCreator, Sep 2, 2018.

  1. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    I have tried for hours to install the ECS samples:
    https://github.com/Unity-Technologi...es/blob/master/Samples/Packages/manifest.json

    I can not get it to work, this manifest causes errors on a blank install with nothing in the project.

    I have tried to manually set up the packages through the package manager and i got everything working but the test framework.

    Manually installing the packages through the manager i am down to 2 errors coming from this not existing:
    "com.unity.test-framework.performance": "0.1.34-preview",






    Everything goes crazy using the samples manifest on a clean install, .net4.x is set.


    Exception generating network code: System.Exception: Assembly Temp\Unity.Burst.dll does not exist!
    at Unity.UNetWeaver.Program.CheckAssemblyPath (System.String assemblyPath) [0x0001c] in C:\buildslave\unity\build\Extensions\Networking\Weaver\Program.cs:52
    at Unity.UNetWeaver.Program.CheckAssemblies (System.Collections.Generic.IEnumerable`1[T] assemblyPaths) [0x00016] in C:\buildslave\unity\build\Extensions\Networking\Weaver\Program.cs:46
    at Unity.UNetWeaver.Program.Process (System.String unityEngine, System.String unetDLL, System.String outputDirectory, System.String[] assemblies, System.String[] extraAssemblyPaths, Mono.Cecil.IAssemblyResolver assemblyResolver, System.Action`1[T] printWarning, System.Action`1[T] printError) [0x00014] in C:\buildslave\unity\build\Extensions\Networking\Weaver\Program.cs:31
    at UnityEditor.Scripting.Serialization.Weaver.WeaveInto (UnityEditor.Scripting.ScriptCompilation.ScriptAssembly assembly, System.String assemblyPath, System.String outputDirectory, System.String unityEngine, System.String unityUNet, System.String[] extraAssemblyPaths, Mono.Cecil.IAssemblyResolver assemblyResolver) [0x000b4] in C:\buildslave\unity\build\Editor\Mono\Scripting\Serialization\Weaver.cs:67 at Unity.UNetWeaver.Program.CheckAssemblyPath (System.String assemblyPath) [0x0001c] in C:\buildslave\unity\build\Extensions\Networking\Weaver\Program.cs:52
    at Unity.UNetWeaver.Program.CheckAssemblies (System.Collections.Generic.IEnumerable`1[T] assemblyPaths) [0x00016] in C:\buildslave\unity\build\Extensions\Networking\Weaver\Program.cs:46
    at Unity.UNetWeaver.Program.Process (System.String unityEngine, System.String unetDLL, System.String outputDirectory, System.String[] assemblies, System.String[] extraAssemblyPaths, Mono.Cecil.IAssemblyResolver assemblyResolver, System.Action`1[T] printWarning, System.Action`1[T] printError) [0x00014] in C:\buildslave\unity\build\Extensions\Networking\Weaver\Program.cs:31
    at UnityEditor.Scripting.Serialization.Weaver.WeaveInto (UnityEditor.Scripting.ScriptCompilation.ScriptAssembly assembly, System.String assemblyPath, System.String outputDirectory, System.String unityEngine, System.String unityUNet, System.String[] extraAssemblyPaths, Mono.Cecil.IAssemblyResolver assemblyResolver) [0x000b4] in C:\buildslave\unity\build\Editor\Mono\Scripting\Serialization\Weaver.cs:67
    UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:pollCompilation()
     
  2. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Are you installing latest previews? Is ECS working without samples?
    Did you install ECS and Incremental Compiler?

    Also, I know samples has been recently updated. But not sure, if they are compatible already with latest previews.

    Btw. Why you need manifest? It maybe obsolete.
    I eventually managed to install all (Entity, Compiler + Burst), without needing it.
     
  3. dstilwagen

    dstilwagen

    Joined:
    Mar 14, 2018
    Posts:
    36
    I'm guessing that this "com.unity.test-framework.performance" is used internally and got left in by accident and can be removed.
     
    Antypodish likes this.
  4. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Most likely.
     
  5. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    Do i need incremental?

    Yes I tried installing burst and ecs on blank project and it was working fine with no errors. It's when i try to import the Samples project.

    I have tried both opening the project and manually importing the asset files.

    Oh so i didn't think i needed incremental with burst as well, ill give that a try.

    I wanted to check it out and do a prototype install on the framework I've built for the game im developing.

    I'm on the fence about using ECS but i do want to see if i can integrate it into my custom AI framework that is already extremely fast.

     
  6. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    UMG content issue on the video. Don't play anymore.

    I have installed initially Entities But something wasn't working. So I decided to give a try installing incremental and burst.
    Came out of the box for me. While previously I did struggle, on older previews. Don't forget to restart Unity. This did help me.
     
  7. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    Yah i had put a song in it apparently they didn't like it. Sometimes they monetize it and sometimes they block it.

    I'm curious to see what youtubes "remove song" option does, i wonder if youtube's deeplearning AI will accurately scrub the video.

    Anyway, ill upload a new vid tommorow.

    I just added a star system generator and im bringing back sunshafts, since i found a way to make them work where emmisive stars in the background don't get clipped in the shaft on the post render image edit.

    Heres an older vid, ive updated graphics and bumped performance up by 40 to 50FPS avg since this one though.

     
  8. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    From what I can tell and i've been researching ECS, you still need something like the framework that I've built to run ships in galactic armada.

    Just because you can run 50,000 objects does not mean you can add complex AI to them and still expect it to function.

    ECS speeds up memory access but complex AI still has to built properly, That's why i don't think a "node editor" would work well with ECS, you would have to build a custom system like what I have built : DeepLogic AI.

    For example, ECS might be good for what im doing to keep ships in the galaxy without despawning them which is what i was planning on doing.

    I was going to create a 2d to 3d and vise versa Translator, when ships leave the area around the player within 100K meters they will despawn and be translated to the 2d "board game" simulation which will be represented on the galaxy map.

    To keep the tracked objects on the 2d board small, most ships will be assigned to fleets and the fleets will be tracked and moved across the 2d board (galaxy map).

    If you want to make a comparison to another game for what im building you can think of "Stellaris".

    Imagine "if" stellaris had a 3d component/simulation. Yes that is what I'm building. However my game will be different it will be similiar in how fleets move and are ordered across the 2d galaxy map.

    The difference being you will exist in 3d space in this game and everywhere you travel battles will be represented in 3d and you the player / empire leader will have the opportunity to swing battles in your favor.

    Also, my game is going to be completely different than stellaris as far as gameplay, I'm building a galaxy sandbox simulation that is built around strategy and conquest elements and mechanics.

    You can read more on the website:
    http://www.galacticarmada.com

    It's not done yet but the homepage is up as well as the forum.. So much to do being an indie developer!
     
  9. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    There is always change for falls founding. In fact I remember one guy on youtube, which was recording sound of some plastic bag. He did on purpose, but he recorded him self, while doing. Sound was very similar, to one of companies, holding sounds libraries. As the result, his video was put as copyrighted ;) He did special series of different sounds, to trigger AI copyrights claims. I am finding interesting.

    Just on topic.
    Did you managed resolve errors?

    Back to off topic.
    Cool showcase of 500 Ai ships. Perhaps because is in 2D plane mostly, this makes a bit easier (computationally) for designing such algorithm?

    You are stating Deep Logic. Is not the same what deep Learning by any chance? I used Evolving Neural Network to control "thrusters" alike of spacecraft in 3D space. Allowing also to spin along own axis, while still being able to orient other axis in right direction. In other words, 3D Gimabal Controller.

    Do you execute AI algorithms every frame? Or precomputing behavior, until next event, or something?
     
  10. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    ECS would definitely be a benefit for weapons systems and weapons fire/bullets. Objects that are numerous but don't require complex code and algorithms to function.

    Most of the examples of ECS so far don't involve any complex AI behaviors with many chained algorithms.

    I will let you guys know tomorrow if i get it up and running after i release a new vid showing 1,000 generated stars that will span a distance out to 1 billion meters or so within the scene. After that ill make some time for ECS.
     
  11. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Neural Network could benefit from ECS, of has it works. Specially for large layers. Or multiple NN.

    There is no many examples in general, so I am not surprised. I would love convert NN to ECS. But weather I will do it, time will show.

    I assume you don't use doubles instead float?
     
  12. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768

    No i do not execute them every frame. Algorithms control when AI's update according to priority. My system uses "method execution arrays" and "Algorithm containers" which are assigned to arrays that execute the code within the container class.

    There are arrays for Update/Fixed and the entire game is operated from one single update call. This is why it should easy for me to install ecs into my system.

    My AI framework builds the code and removes it at runtime using the arrays. This way things like tracking a target or executing a data collection routine or anything that requires condition evaluations can be removed on completion, removed by another algorithm, queued or moved to fixed update from update or late update or visa versa.

    With my system i have total freedom of how and when code is execution or completely removed as well as the "condition" evaluations that "constructed it".

    Nothing is "hard coded" but the framework that manages algorithm containers, any code anywhere can be replaced with a variant at run time or removed.

    I call it an Algorithm Matrix Framework...

    I think I.. may have invented it as i could find no technical terminology for the system I am using/created.

    Oh and i can run ALL types of AI with my system. Deeplearning, Machine Learning.. as well as programmed algorithms obviously.

    I can run a deep learning neural net as an "algorithm" in one of my containers.
     
  13. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    If you got nice structure base on arrays, that should be easier to port.
    Let us know, when ECS porting is done.

    In meantime, I think you should change title of the topic, as went completely off topic ;)
     
  14. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    lol, yah we should start a conversation instead, I'm fascinated by AI.

    After I build this game I'm going to build a simulated self driving car in unity using my AI framework and a deeplearning neural network that reads render textures and attempts to identify objects in the game world, lines on the road, stop signs, cross walks ect and attempt to drive the car like a REAL self driving car ;).

    Yes i have nice structure and very good tracking and organization systems built into the framework.
     
  15. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768

    My AI is "designed" to process information and deploy behaviors in a similiar way to a human being.

    Here is a concept flow chart i made before i built it. (very basic). It actually does follow this flow right now so i turned the concept from theory to functioning as intended.


    I'll be adding my pathfinding system here pretty soon. I'll be refactoring and redesigning my prototype that was "hard coded":



    I will be converting it to function withing my AI framwork's data flow methodology as algorithms. Every "action" the AI takes during pathfinding the AI with "think" about it in a similiar way a human would of they were piloting the ship.

    I'm going to add a visual debugger to my AI that will show it's "brain" thinking* and you will see that it will seem like a "human".

    With my system i can literally program thought patterns. If you think it, i can build it.. in relation to the data available of course.
     
    Last edited: Sep 3, 2018
  16. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Have you seen Coma self draiving car?


    And since you like AI, I drop it this here as well.
    Mind is long video, so you may want only watch first few min, as later I go into more details.
     
  17. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Very lovely to watch swarms of ships flying through space rocks. Very well done. Another showcase. I am thinking, of Boid algorithm implementation. But according to your graph discussion, that should not be an issue.
     
  18. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    Yes i built the pathfinding system it took me a while to figure out how to do it. I had to master spherecasts, linecasts... and all that as well as finding ways to maximize efficiency with them.

    My pathfinding system used a custom proceedural grid of points around the ship and i use a combination of linecasts and spherecasts and algorithms that scan the grids.

    My new version however will do that and something better which will be a math calculation ran in threading that will detect when to trigger/activate spherecasts when the ships get within the radius of other ships or objects instead of having a forward cast on all of the time.

    In that video, The forward cast is not on every fixed update instead i have it on an interval. But the best way would be to use math to trigger it instead of using an interval.

    A good AI is not only about the algorithms that generate behaviors but the ability of the AI to scale itself up and down without requiring any additional hardware resources and having the capability to understand how to scale itself and when.

    Another example of the capability of my framework is that it can respond to hardware and performance changes and alter behaviors and algorithms within individual AI agents with no performance overhead and sometimes no visual behavior difference visible to the player.
     
  19. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768


    I've done some fun stuff with this project, in the beginning i wanted ships with interiors but it did not take me long to figure out why that is not a good idea being a solo developer lol.

    I did actually get to doing a space suit controller with a seamless transition running off of the ship into space just never got around to posting it.

    In this video is a TV LIGHT simulation where am sampling the render tex from the video in 5 places and lighting the captain room from actual light from the video on the TV.

    Am also the first person to land on a moving planet sized object in a game engine i think:


    I've come along way in my journey as a unity developer you can check out some of the stuff i did when i was learning on my old channel, I was a noob but i really tried to do some cool stuff!:
     
  20. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    So anyway.. I know for a fact it is possible to build a Galaxy in unity as long as you stay under 2.7 Billion meter radius within the scene.

    I am pretty sure im going to be the first person to build a galaxy within a single scene in unity with thousands of star systems which will contain planets as well.

    And when you travel around the galaxy you will physically travel the galaxy no loading screens ever. You will actually be moving at velocities up to 1.8 Million on the RB.
     
  21. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768



    Hey that vids up now. Check out the performance, you have to admit, i did something right! Right!? Considering I am not using ECS ;)
     
  22. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    I had in my project moving planets. They were affected by physics. And had my space craft landed and crashed to them as well. Same as for the inventions like phone, light bulb, TV, etc, there is no single pioneer father ;) But I decided, I don't need moving planets. I rather use camera tricks. This way I was able save on unnecessary collision detection and avoiding floating point issue, for large amount of objects. But thats all were in prototype stages. After I stopped planets ... opposite to what Nicolaus Copernicus "did" (De revolutionibus orbium coelestium), and some further experiments, I moved into ECS. Now see how far I can get. If anywhere ;)
     
  23. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    In fact, I had some procedural generates galaxy, or rather stars. You could fly from star to star. Planets were generated as well. Very well done floating origin. But couldn't use in my project. Wasn't suitable, how was written.

    So in that sense, there were many projects to travel through stars and galaxies. If you can avoid floating origin and camera jittering beyond 10k meters, that would be first in Unity :)
     
  24. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Definitely. No doubt. You may not need ECS at all in fact ;p

    Do you consider in future releasing your AI system, in Asset Store, wherever?
     
  25. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    Gradiant descent?
    I have already done that. I flew out to a billion meters with no camera jitter.

    I have mastered floating origin and i can float as many objects as the hardware can handle in a for loop without slowing the update down. With ECS you could float even more because the transform component has much faster memory access with ecs resulting in less cpu time.

    look at distance from origin:


    Did you make a moving elevator with MUSIC in a space ship moving in hyperspace for real?

    I bet I WAS THE FIRST!!
     
  26. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Another nice vid. I didn't use elevator in space, as didn' need it ;)

    I see the distance, but I would like to see a real distance in the inspector.
    How you manage keep camera stable at range beyond 10k, not to mention over 100mil, where you basically out of precision points in the floating point. Transform of the camera will stop being smooth.

    Unless you keep your spaceship near 0 origin, or scale camera and near objects up, with ne decimal points?
    Mind you sharing a camera trick, since this is technical limitation known for years and have not been resolved, as far I know.

    Otherwise you would be first indeed.
     
  27. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    There is also a way to keep the ship at 0,0,0 at all times,meaning a continuous float.
    It's not a limitation. Floating origin is simple.

    http://wiki.unity3d.com/index.php/Floating_Origin

    You can float at magnitude or you can float every frame and keep the ship or object at 0,0,0 every frame. The scene rotates around the object being float.

    You won't have camera issues using this system and you can go out to 2.1 billion meters.

    "The number 2,147,483,647 (or hexadecimal 7FFF,FFFF16) is the maximum positive value for a 32-bit signed binary integer in computing"

    There is also a way to get around unity's editor issue that tries to prevent you from navigating the scene in the editor past 100K from scene origin.
     
  28. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    Ah yes, so you are actually using floating origin. That what I thought. I read quite a bit about it, before I choose the way of doing my prototypes. Many projects uses this approach. This is fine, as long you don't use many collides involved. 500 objects is not that many to shift. Or yuo can disable physics / colliders on certain objects, when far away. So they can go "sleep". Yes many tricks used commonly.

    Yet, providing you want to keep simulation enough accurate, now try apply moving planets, gravity calculations and collisions with 5k GameObjects having colliders (both dynamic and static). Well you can not utilize performance benefits of static colliders in this case (for example buildings). Also, your colliders never go to "sleep", as allywas moving. Even landed on a planet.

    Kerbal Space Program for example, is using floating origin, keeping main ship near origin 0. Other than, is not moving ship every frame, but every so traveled distance. They discuss implications of using shift origin, on physics related objects and why lag may appear, when shift is happening, every so often, why you flying.

    For all that reasons, I keep all my planets at origin 0, as separate worlds, so I can have accurate and potentially deterministic physics simulations. Then I just move traveled ship floating origin and switch to relevant planet physics (layer mask), when approaching it, while using camera tricks, to make appear things moving seaming-less. Saving this way a lot of performance.

    That why I am looking into ECS multiple worlds implementation, to have multiple worlds running separately at 0 origin.

    So as long you don't care about other planets physics in far distance in real time, you are completely fine, with your approach.

    I mean ECS related errors.
     
    Last edited: Sep 3, 2018
  29. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    Planets are only a background object in this game.

    I'm not having landing on planets or anything like that. Early on in the project before i completely changed it i did it for "fun".

    Planets do not even have colliders in galactic armada, and yes im well aware of the physics engine resource use. Its also about the complexity of the colliders you are shifting.

    My game won't have anywhere near 5,000.


    Released a new vid:
     
  30. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,770
    That makes sense. Hence your approach will work for you very well, in your case ;)

    AI is fun part. Keep it up.:cool:
     
  31. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768

    The pathfinding system is actually completely separate from the AI, The way my AI works is "every" piece of code that has a function is separate from everything else.

    And the various algorithm systems have a specific purposes (Agenda: Rules + Goals Logic) , Thought: Data Collection, Analysis, Choice: States & Behavior Deployment Analysis.

    Choice algorithms allow the AI to run multiple tasks and understand priorities and timing for implementing or queuing behaviors and tasks as well has how to destruct and reconstruct itself (CODE).

    It's really fun when you are developing your own system and trying to push the limits of what is possible within c# and Unity.
     
  32. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768

    By the way, ScriptableObjects is what makes my AI possible. Check it out ScriptableObjects is the next best thing to ECS.
     
    M_R likes this.