GilbertoGojira / DOTS-Stackray

Extending DOTS
GNU General Public License v3.0
60 stars 3 forks source link

Issues opening sample project in Unity version 2020.2.1f1 #2

Open lukasreuter opened 3 years ago

lukasreuter commented 3 years ago

First off: great packages, thank you for creating them :).

Opening the project in the 2020.2.1+ opens the Safe Mode with a lot of errors related to generic jobs, for instance:

(0,0): error error DC3002: Stackray.Entities.CopyFromChangedComponentData`1: generic jobs cannot have their reflection data auto-registered - you must use the assembly-level RegisterGenericJobType attribute to specify which instantiations you need

Has this something to do with the new Build-pipeline changes and how can I provide the reflection data given the fact these structs are in the package and it is difficult to discern which instantiation are actually needed?

GilbertoGojira commented 3 years ago

First of all thanks for your kind words. So far you must stay on Unity 2020.1 at least until Entities 0.17 is released (Should be during January). You can read this extensive discussion on Unity forum -> https://forum.unity.com/threads/will-registergenericjobtype-be-required-for-all-generic-jobs-going-forward.974187/

lukasreuter commented 3 years ago

Cool, the package just released today and after updating it seems the generic jobs issue is gone but I now get an error related to some BlobAsset construction:

/Users/test/DOTS-Stackray-master/Packages/com.stackray.sprite/Stackray.Sprite.Hybrid/SpriteUtility.cs(154,9): error ConstructBlobWithRefTypeViolation: You may not build a type ClipSet2 with Construct as ClipSet2.Value[].Value is a reference or pointer. Only non-reference types are allowed in Blobs.

GilbertoGojira commented 3 years ago

Even after fixing that specific problem there is an issue with Cecil not detecting generic parameters that are constrained to be value types and which are used by my packages. (https://forum.unity.com/threads/blobarray-with-valuetype-generic-parameters-fails.1045639/) Also Unity now forces for generic jobs to be explicitly declared beating the purpose of my Burst package. So far you really have to stick in Unity 2020.1 until i adapt the burst a post-processor to generates those concrete types before Unity round check.