Search Unity

Official Experimental Entities 1.0 is available

Discussion in 'Entity Component System' started by mfuad, Sep 26, 2022.

Thread Status:
Not open for further replies.
  1. mfuad

    mfuad

    Unity Technologies

    Joined:
    Jun 12, 2018
    Posts:
    335
    Hi everyone! We’ve just published a new experimental version of Entities and other ECS-based packages, including a suite of new features and compatibility with Unity 2022.2 beta Tech Stream. This milestone brings us one step closer to supporting Entities and its compatible packages for production, like any other feature of Unity, where its APIs would remain stable for the duration of the Unity LTS cycle.

    As a reminder: Experimental releases are not supported or recommended for production, but they provide early access for those who want to try out Entities in their projects. This also helps us make progress on development through your feedback.

    Getting started
    If you are just getting started, refer to our installation and setup guide in our documentation to help with project setup. The release is compatible with Unity 2022.2.0b8, but we recommend using Unity 2022.2.0b11+, which includes various fixes for IL2CPP and the Entities Graphics package, reducing a significant number of crashes experienced in the editor. You can find the changelog for the latest editor version here.

    We also published a guide that contains:
    • A summary and video overview of important ECS concepts
    • A simple tutorial to learn the basics of using ECS and the Job System
    • A set of cheat sheets across API topics

    What’s new
    As part of this Entities 1.0 release, the following packages have been tested together with Unity 2022.2 beta Tech Stream. For a full list of changes in each package, refer to the changelogs in our documentation (linked below):
    We have also updated the following packages, which are automatically included when installing the Entities package:
    Thank you to everyone who has taken the time to share feedback since the Entities 0.51 release. Please continue to engage with us as we approach our next development milestone!

    Notable highlights


    Streamlined ECS workflows
    Leverage existing Unity expertise and assets to create even more ambitious games. This includes ECS workflows that provide a familiar authoring experience, and are compatible with GameObjects and current GameObject-based systems.
    • A suite of dedicated Editor tools help you profile, analyze, and debug entity data that are fully inter-operational and allow you to approach solving problems from any angle. We have introduced a new Journaling window that lets you record and explore ECS events directly from the Editor, allowing you to follow every single transformation a specific entity went through without requiring any complicated debugging setup. Read our documentation to learn more about these tools, and check out this overview of our authoring & debugging workflows at GDC 2022 earlier this year.
    • We have introduced data modes, which are a brand new paradigm for working, in-place, with data that has wildly different representations at authoring time and at runtime. You can learn more about this in our documentation.
    • We have introduced non-destructive editing of subscenes while in Play mode, allowing you to make permanent changes to your game while playing, and in a safe manner. You can learn more about this in our documentation.
    • We have completely reengineered the conversion pipeline, which is now referred to as the Baking system. Leveraging the benefits of ECS, this improved conversion pipeline is much faster, and ensures performant conversion in projects with massive scenes. You can learn more about this in our documentation, and read this post for more context about these changes.
    • Support for the Unity build window brings back the familiar build workflow that many developers are used to.
    • Specific ECS settings have been moved from the top-level menus to the Preferences window. You can learn more about these settings in our documentation.
    Adaptive game architecture
    Leverage Unity’s ECS framework to avoid the drawbacks of object-oriented programming. This includes a better way to collaborate on gameplay features, write optimized game code, and write reusable game code.
    • We have introduced a new feature called Aspects, which provides a simpler (and more optimized) interface to sets of component data as an easier way to organize and maintain game code. Read here to learn about our motivations behind this new feature, and read our documentation for more information on how to create and use Aspects.
    • Significant improvements to the Transform system delivers a simpler, cheaper, and more robust Transform data protocol. Read here for more details about these changes.
    • Idiomatic foreach is the recommended improvement to
      Entities.ForEach.Run
      , with fewer edge-cases where APIs that work outside of a loop don't work inside. Read here for more details about this change.


    Control & determinism
    Publish demanding games to the widest range of devices through complete control over data layout and processing. This includes deterministic processing and complete memory control to allow optimizing production budgets based on target platforms.
    • Custom allocators provide full control over memory allocation throughout the engine enabling high performance, controllable, hierarchical memory allocation.
    • We have made improvements to the Collections package to simplify method calls.
    • Debugging bursted code with managed debuggers works transparently without any extra steps required.
    • The Unity Profiler includes two Entities Profiler modules that you can use to track and collect data on the performance of your Entities code. You can learn more about these modules in our documentation:
      • Entities Structural Changes profiler module can record which world/system produced a structural change, and how much time it cost per frame
      • Entities Memory profiler module can record which world/system allocates memory chunks, with additional details per archetype


    Native code performance

    Achieve performance targets with more ambitious content. The use of Entities, the Job System, and the Burst Compiler provides the simplicity of C# while achieving near native code performance and multicore processing.
    • Added support throughout Entities packages to make ISystem and IJobEntity more useful than ever, meaning that you can write simple and expressive burst-compatible code in your systems to achieve near native code performance.
    • Enableable components can be efficiently enabled and disabled at runtime without triggering a structural change, and are ideal for high-frequency state changes. You can learn more in our documentation, and read this post for context behind this feature.
    • Multiple systems are now Burst compilable - Collections, OnUpdate, Job System


    Massive data streaming
    Leverage Unity’s ECS framework to achieve spikeless streaming and memory-efficient large-scale rendering. This includes memory-optimized scene loading and a high-performant entities graphics system.
    • Subscenes provide dynamic scene loading and unloading that simplify the creation of vibrant worlds. You can learn more about subscenes in our documentation.
    • Performant rendering across a wide range of devices with Entities Graphics (formerly known as Hybrid Renderer), and compatibility with most URP and HDRP features out-of-the-box. Read here for information on our motivations behind the name change.
    • Significantly updated experimental Occlusion Culling system that allows users to render more, with less performance overhead.


    Unprecedented simulation scale
    Unleash performant, large scale simulations with a robust physics and simulation toolkit. This includes the Unity Physics and Havok Physics systems.
    • New features like motors and breakable joints allow for more dynamic physics behaviors.
    • Scalable debug visualization enables a better understanding of physics behaviors in complex scenes.
    • A new cohesive experience for Havok Physics for Unity is being rolled out, and will be included in Unity Pro, Unity Enterprise and Unity Industrial Collection offerings. New license purchases and renewals for the Havok Physics for Unity experimental package will be unavailable from October 13. Users who have purchased a license previously can continue to use the license until expiry. If you need assistance with your ongoing subscription, please reach out to support@unity.com


    Large multiplayer games
    Turn projects into ambitious multiplayer experiences with a netcode solution capable of supporting large competitive multiplayer action games.
    • Our ECS-based networking library supports a higher number of players, and powers scalable networking strategies for prediction and ghosting. Leveraging ECS also allows for a high number of networked objects, provides frame independent network synchronization, and efficient data processing for complex rollback needs.
    • Debugging capabilities support debugging multiple clients/server in the same process.
    Known issues
    • We are still working on making the physics and netcode systems compatible with the improved transform system.
    • Currently, experimental deformations (skinning and blendshapes) do not leverage frustum or occlusion culling.
    • We are still iterating on the UX around data mode to make them easier to grasp. Expect changes in that area in future releases.
    • We have received several reports of crashes in IL2CPP builds. While we work to investigate and fix this issue, we do not recommend using IL2CPP.
    • There is a separate known GPU crash (also exhibited in our testing with the MegaCity project) when using Entities Graphics alongside DX12. As we investigate the root cause, we recommend using DX11 as a workaround.
    • You may experience a crash when entering Play mode while burst is compiling. As we investigate the root cause of this issue, we recommend waiting for burst to finish compiling before entering Play mode.
    • There is Native/UnsafeStream memory leak when using multiple writers.
    • Valid compilation errors can cause additional
      CS0282
      warnings from source-generated partial types:
      There is no defined ordering between fields in multiple declarations of partial struct.
      These are typically suppressed with a diagnostic suppressor for generated types, but an issue with the Roslyn compiler can prevent these from being suppressed if other compilation errors occur. This can result in many of these warnings in the Unity console. These can also be suppressed by adding -
      nowarn:0282
      to a Unity rsp file (see this link for details).
    • If an exception happens in the entity iteration blocks
      Entities.ForEach
      or the idiomatic foreach loop in
      SystemAPI.Query
      , then ECS doesn't clean up the exception if the calling code isn't from a derived system method such as
      OnCreate
      ,
      OnUpdate
      ,
      OnDestroy
      ,
      OnStartRunning
      , or
      OnStopRunning
      . This causes further exceptions to be erroneously reported.
    • You can't schedule an
      IJobEntity
      that takes any argument directly constructed from a method invocation. For example, the following code doesn't work:
      Code (CSharp):
      1. new SomeJob().Schedule(JobHandle.CombineDependecies(handle1, handle2))
      To fix this, store the argument in a local variable and use that as the argument. For example:
      Code (CSharp):
      1. (new SomeJob().Schedule(someCombinedHandle))
    • If you schedule an
      IJobEntity
      constructed with an initialization expression that invokes a
      SystemAPI
      method, such as:
      Code (CSharp):
      1. SomeJob{targetLookup = SystemAPI.GetComponentLookup<Target>()}.Schedule()
      This causes the following runtime error:
      No suitable code replacement generated, this is either due to generators failing, or lack of support in your current context.
      To fix this, put in a local variable first. For example, the following works:
      Code (CSharp):
      1. var targetLookup = SystemAPI.GetComponentLookup<Target>(); new SomeJob{targetLookup = targetLookup}.Schedule()
    • Calling
      SystemAPI
      methods from static methods in a system causes the following runtime error:
      No suitable code replacement generated, this is either due to generators failing, or lack of support in your current context.
    • NativeMultiHashMap
      should be named
      NativeParallelMultiHashMap
    Sharing feedback
    This forum is the best place to open discussions and ask questions.
    • If you encounter a bug, please use the Unity Bug Reporter in the Unity Editor, accessible via Help > Report a Bug. Include the name of the package (with version number) in the title to help our team triage things appropriately.
    • To learn more about what we are working on, you can refer to this post and our public roadmap where you can share feedback and submit ideas.
    • If you want to discuss the motivations behind new features and key improvements with our development team, join the conversation here.
    • If you want to discuss the motivations behind renaming the Hybrid Renderer to Entities Graphics, join the conversation here.
    • If you have any questions about the Entities 1.0 experimental release specifically, ask us here.
    Thank you again to everyone who has continued to take the time to share feedback. We look forward to hearing from you!
     
    Last edited by a moderator: Oct 27, 2022
  2. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    857
    is a 1.0 preview package for havok in the works(noticed one doesnt appear available yet)?
     
  3. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,335
    Is there something new to animate characters?
     
  4. TreyK-47

    TreyK-47

    Unity Technologies

    Joined:
    Oct 22, 2019
    Posts:
    1,820
    Naw. Plan is to land it properly directly with the pre-release and skip the beta phase. You can learn more here.
     
    DonPuno and thelebaron like this.
  5. DatCong

    DatCong

    Joined:
    Nov 5, 2020
    Posts:
    87
    omg thank unity, we wait for that for a long time
     
    ThynkTekStudio likes this.
  6. Shinyclef

    Shinyclef

    Joined:
    Nov 20, 2013
    Posts:
    505
    Hello, just wondering if this means we can't upgrade if we're using physics or netcode, or does it mean that it's just a bit suboptimal for now? I gather it's the later due to upgrade physics and netcode packages? But unsure what the impact of this incompatibility actually is.
     
    Last edited: Sep 28, 2022
  7. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Lubberly Jubberly Rodney. Going to be pukka.
     
    bb8_1 likes this.
  8. HappySlice

    HappySlice

    Joined:
    Nov 3, 2014
    Posts:
    22
    Opeth001 and Shinyclef like this.
  9. DatCong

    DatCong

    Joined:
    Nov 5, 2020
    Posts:
    87
    no =))
     
  10. elliotc-unity

    elliotc-unity

    Unity Technologies

    Joined:
    Nov 5, 2015
    Posts:
    230
    No, upgrading is fine, just when you upgrade to a later version which has the new transform system everywhere, you might need to rejigger your transform-related code a bit. I imagine that upgrade will be much less significant than the 0.51->1.0 upgrade.
     
    bb8_1 likes this.
  11. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    1,011
    xuliming1994, Pleija, DonPuno and 4 others like this.
  12. Valkrysa_Herja

    Valkrysa_Herja

    Joined:
    Aug 1, 2014
    Posts:
    41
    Is the new transform component intended to be deterministic across machines?
    The other document says transform will be 8 floats so I'm thinking we'll still have indeterminism across multiplayer simulations but just wanted to ask since determinism would be such a great checkmark.
     
  13. Qriva

    Qriva

    Joined:
    Jun 30, 2019
    Posts:
    1,307
    How to group entities in dots hierachy? Previously I could add Parent component (from transforms) and it would group them, however new transform system has query that picks Parent every update and generates unnecessary overhead.
     
  14. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I guess a "group" that isn't in the the same archetype would also incur a memory lookup, maybe the cost is similar? Does seem weird they'd change that though.
     
  15. crol

    crol

    Joined:
    Aug 6, 2013
    Posts:
    30
    Is this feature in preview and not recommended to use since 2019?
     
  16. wielochowskiwojciech

    wielochowskiwojciech

    Joined:
    Jun 14, 2021
    Posts:
    2
    Hi, I am a little concerned how job system picks his dependencies to finish right now, even without using SystemBases dependency, other parts of code are randomly completing our jobs. For instance job scheduled parallel in simulation group if active will be completed on MeshRendererFinilizeUpdate. I would like to know if this is intentional since it didn't behave that way on 0.51f.
     
  17. snoche

    snoche

    Joined:
    Feb 22, 2010
    Posts:
    82
    I am trying with Unity 2022.2.0b8.3023 but got this error:

    Library\PackageCache\com.unity.entities@1.0.0-exp.8\Unity.Entities.Editor\Inspector\Aspects\TransformAspectInspector.cs(11,11): error CS0315: The type 'Unity.Transforms.TransformAspect' cannot be used as type parameter 'TAspect' in the generic type or method 'EntityAspectContainer<TAspect>'. There is no boxing conversion from 'Unity.Transforms.TransformAspect' to 'Unity.Entities.IAspectCreate<Unity.Transforms.TransformAspect>'.

    Any idea how to fix this?
     
  18. Onigiri

    Onigiri

    Joined:
    Aug 10, 2014
    Posts:
    482
    Pleija, DonPuno, carl010010 and 3 others like this.
  19. joepl

    joepl

    Unity Technologies

    Joined:
    Jul 6, 2017
    Posts:
    87
    @snoche do you happen to have any other compilation errors? I would also check your Editor.log for anything that might block source generators from completing.

    We add the IAspectCreate interface to the TransformAspect with sourcegen. If previous errors keep generators from running I could see this happening (but otherwise cannot repro myself with com.unity.entities@1.0.0-exp.8 and Unity 2022.2.0b8).
     
  20. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,684
    Ooooof it's time to another huge refactoring of our game? :eek: Well, probably no, not this time, as we heavily rely on runtime conversion and addressables, and that's not the good idea to apply such core changes to production game...Seems with Diplomacy is Not an Option, we stuck on 0.51 :D It's been a fun ride from the beginning to nearly the end of experimental stage of Entities, thanks DOTS team for that! But for our new projects (which is already in development) we can safely start to use Entities 1.0!;)
     
  21. blackandspot

    blackandspot

    Joined:
    Sep 28, 2022
    Posts:
    1
    I want to ask a question. I used cinemachine to follow the character. Runtime conversion is removed we should use subscene for conversion. How I can reference entity from subscene to main scene for follow entity class?
     
    hashimoto_ko_unity and Tony_Max like this.
  22. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Looking at DOTS 1.0, I am wondering is there still a plan to make this as easy (or easier) to use as GameObjects?
    As much as I like it, it sure is very hard to use.

    Can't imagine how Unity's userbase would ever transition to DOTS.
    It seems at least 10x harder than GameObjects, and getting harder to use with every update.
     
    oneted_7, Ryetoast, ttesla and 2 others like this.
  23. TieSKey

    TieSKey

    Joined:
    Apr 14, 2011
    Posts:
    225
    Mmmm what's the preferred way to get a reference to a system?
    World.GetOrCreateSystem() now returns a not documented SystemHandle and idk what to do with it.
    Physics samples seem to be outdated or I'm missing something cuz they do World.GetOrCreateSystem<T>() and get a system T but that method is not static and it doesn't return a T anymore.
     
  24. scottjdaley

    scottjdaley

    Joined:
    Aug 1, 2013
    Posts:
    163
    World.GetOrCreateSystemManaged<T>() should be a drop in replacement for World.GetOrCreateSystem<T>().
     
    andywatts and DaxodeUnity like this.
  25. TieSKey

    TieSKey

    Joined:
    Apr 14, 2011
    Posts:
    225
    Thx, that works for class based systems inheriting from SystemBase but obviously it doesn't for unmanaged systems like "BuildPhysicsWorld". I'm getting it by querying the physics singleton entity but what about custom ones?
     
  26. scottjdaley

    scottjdaley

    Joined:
    Aug 1, 2013
    Posts:
    163
    Not sure if there is a direct replacement or not for unmanaged systems, but they appear to be encouraging use of a similar singleton pattern instead of exposing public fields on systems. Each system now has an entity automatically created for it. You can add your own singleton components to it and store the data there instead.
     
  27. TieSKey

    TieSKey

    Joined:
    Apr 14, 2011
    Posts:
    225
    Makes sense, although a bit convoluted. Would be nice to have some extension methods or just default interface methods built in ISystem to make such singletons easier to discover/access.
     
  28. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    857
    theres a new api for accessing the physicsworld(so you generally shouldnt access physics systems like in the past), its noted in the physics change log
     
  29. scott-williams

    scott-williams

    Unity Technologies

    Joined:
    Sep 18, 2019
    Posts:
    4
    Note that for accessing system data directly, you lose thread safety and lifetime guarantees (basically anything that is risky with direct pointer access). With that said, ISystems can still be directly accessed like
    • systemState.WorldUnmanaged.GetUnsafeSystemRef<MySystemType>(systemState.SystemHandle)

    There are some options here (following examples assume from within an ISystem).
    If using the entity backing a system:
    • SystemAPI.GetComponent<MyComponent>(systemState.SystemHandle)
    • systemState.EntityManager.GetComponentData<MyComponent>(systemState.SystemHandle)
    If using singleton entity components:
    • SystemAPI.GetSingleton<MyComponent>()
    • any other normal means of accessing singletons
    It's worth pointing out that singleton entity components and system entity components are slightly different. They can both be used to store system data, but singleton entity components are not tied to system lifetimes internally, and of course singleton entities must be explicitly created, whereas system entities are created implicitly with system creation.
     
    Last edited: Sep 28, 2022
    TheSmokingGnu, JesOb and TieSKey like this.
  30. scottjdaley

    scottjdaley

    Joined:
    Aug 1, 2013
    Posts:
    163
    Not sure I'm understanding this correctly. If we add a unique component to a system entity using something like SystemAPI.AddComponent<MyComponent>(systemState.SystemHandle), can we not use SystemAPI.GetSingleon<MyComponent>() to access it?

    In other words, do the singleton API methods work for components on system entities, so long as they are in fact singletons?
     
  31. Armitage1982

    Armitage1982

    Joined:
    Jul 26, 2012
    Posts:
    38
    Somehow, it is reassuring to read such a message.
    I'm in the same position and the transition from Unity 2021.3 LTS to Unity 2022.2.0b8 is already an ordeal in itself, but after reading the Changelog of Entities 1.0.0-exp.8 and the Changelog of Unity Physics 1.0.0-exp.8, the transition seems far too complicated to be done all in Safe Mode

    I'll wait for the samples update and the v1 release before making a decision.
     
    Last edited: Sep 28, 2022
    Ryetoast and slims like this.
  32. TieSKey

    TieSKey

    Joined:
    Apr 14, 2011
    Posts:
    225
    I'm still reading the docs and the examples and blogs etc etc so pardon if this was already stated somewhere but let me ask:
    Is converting a prefab/asset directly into an entity at runtime simply not supported anymore?

    With directly I mean without having to go through the editor in any way or manner. For example, load a gameobject from a "Resources" folder, an asset bundle or addressable and turn it into an entity for efficient rendering of thousands of procedurally placed instances.
     
  33. GuardHei

    GuardHei

    Joined:
    Feb 10, 2018
    Posts:
    89
    Where can I find the info regarding the experimental Occlusion Culling System? Is it still based on the Umbra?
     
  34. goldendonut

    goldendonut

    Joined:
    Dec 27, 2017
    Posts:
    7
    Does anyone know when animations will be available for ECS.
     
    MoonbladeStudios likes this.
  35. Ksanone

    Ksanone

    Joined:
    Feb 7, 2015
    Posts:
    41
    Have an issue with NativeParallelMultiHashMap "could not be found"? And I cannot see it in Collections 2.1.0-exp.4.
     
  36. StefanWo

    StefanWo

    Joined:
    May 24, 2015
    Posts:
    123
    I have the same here. I saw, that the NativeMultiHashMap is inside of the NativeParallelMultiHashMap.cs, so i guess its just renamed (still in migration process, not confirmed, but the API seems the same ;) )
     
    Ksanone likes this.
  37. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,684
    Well, there is nothing complicated at all, transition is pretty simple, especially because of most of our code not using codegen versions and we use customized IJobEntityBatch with couple extensions everywhere, we not using packages like physics etc. we wrote our own for mostly everything, but our game in production, hundred thousands people already playing that, and one of the breaking changes for us is that addressables and subscenes don't work with each other, and runtime conversion is gone, and all our prefabs mechanism based on that (with a couple of package customizations) as result it will require noticeable amount of time to reimplement our own runtime conversion, it's error prone, we have a schedule and just can't afford additional half or full month to do that, and we still in early access, which means we continue to grow our code base an content. This is why this project will be frozen on 0.51 and two new projects will use 1.0 :)

    They're already up to date (technically) at least up to current 1.0 preview version :D
     
    Antypodish likes this.
  38. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,090
    Interesting, are there any details?
     
  39. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,684
    Built-in mechanism is gone, but you CAN create entities at runtime, you just need to reinvent your own runtime conversion :D Load prefab get list of components on it, iterate, check if they're implement some interface (your own version of IConvertGOToEntity) if any - create entity, or handle it as Unity in OnEnable of ConvertToEntity, call Convert (as example) from all components with your own IConvertGOToEntity which will associate components with entity. That's very simplified example if you have very simple stuff and just a top of an iceberg. Technically you want second conversion World which will help you avoid archetype fragmentation (as when you move entities to main World archetypes in world will be created in their final state) where you'll create entities, you need to handle companions workflow by your own (as not everything in Unity can be pure component data), you need to handle interreferences of prefabs to each other etc.etc.
     
  40. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    883
    I don't like new transforms API, it feels like a step back. I don't use rotation and scale in most of my systems, so I will need to fetch 8 floats instead of 3 every time.
     
    Last edited: Sep 29, 2022
  41. Tony_Max

    Tony_Max

    Joined:
    Feb 7, 2017
    Posts:
    352
    is it required to always use aspects to access transform now? Or you can just use simple per-component access as it was before?
     
  42. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,684
    There is no per component for that anymore if you look at aspect Position, Rotation, Scale is just properties, they all are stored in
    LocalToWorldTransform
    (and optional
    LocalToParentTransform
    ParentToWorldTransform
    ) which is one component with
    UniformScaleTransform
    struct inside which is actually store the data

    upload_2022-9-29_13-42-9.png

    upload_2022-9-29_13-42-19.png
     
  43. topher_r

    topher_r

    Unity Technologies

    Joined:
    Jun 14, 2019
    Posts:
    36
    You can pre-Bake a Prefab into Entity data and load that Entity prefab at runtime as its own asset in DOTS Addressables, which will be there for 1.0 release, but I need to double check if it made it into this experimental release or not. Either way, it will be there for 1.0 final.
     
  44. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,129
    Please make sure it's made into experimental release for testing before going 1.0 final. If not I guess it will have very high chance end up being unpolished feature.
     
    LuisEGV likes this.
  45. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,684
    We're waiting for a long time for support that with addressables, this is why we using runtime conversion for that, as addressables just doesn't work with entities packed into SubScenes. And if we'll have possibility to have assets with converted entities which will work with Addressables - then maybe we even transfer our game to 1.0 :D As we'll just switch format of our wrapper around prefabs and will replace runtime conversion to some special systems which will restore some relations between prefabs which we do on runtime conversion, but just right at entities asset load
     
  46. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,129
    Oh yeah one more question. Does DOTS Addressables supports instantiate classic Game Object and load classic scene?
     
  47. topher_r

    topher_r

    Unity Technologies

    Joined:
    Jun 14, 2019
    Posts:
    36
    No
     
  48. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,129
    Alright then official need to make both dots addressable and addressesable able to live nicely together as my production project need to have both.
     
    Sylmerria likes this.
  49. IsaacsUnity

    IsaacsUnity

    Unity Technologies

    Joined:
    Mar 1, 2022
    Posts:
    94
    Hey there! We're still working on providing more robust documentation going into the pre-release of ECS for Unity 2022. In the meantime, feel free to join in on the conversation here with the team working on Burst Occlusion Culling.
     
    Elapotp and hkalterkait like this.
  50. BuzzJive

    BuzzJive

    Joined:
    Mar 6, 2014
    Posts:
    75
    Can somebody shed some light on this note on the ECS 1.0 getting started page:
    • Note: Entities Graphics only supports Vulkan on Android in 0.50 and 0.51.
    Basically - what is the timeline for that? 1.0 experimental patch? 1.0 release? After 1.0 release? Never?
     
Thread Status:
Not open for further replies.