Analyze command - track "SerializeReference" usage
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu với lệnh Analyze và kiểm tra các triển khai hiện có của các bảng mono_script, refs và script_object_view. Định nghĩa bảng SerializeReference mới cùng một hoặc nhiều view cho các trường MonoBehaviour, object, asset, riid, size, class, namespace và assembly được yêu cầu, sau đó cập nhật tài liệu với bảng, view và trường hợp sử dụng đổi tên class.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The SerializeReference feature of Unity Serialization means that additional C# classes can be serialized directly inside MonoBehaviours and ScriptableObjects. They do not use MonoScripts to managed the C# type - instead the C# type info is serialized directly into the serialized reference registry of the MonoBehaviour. So the information about what types are actually used is spread all over the place in the built content.
Management of these objects can be a challenge, often we have to do text searching of the YAML format in the project assets to find them. In binary data its quite hard to "find" them without actually loading the content.
One example for wanting to find them is if you want to rename a class and need to confirm that the old name is not present anywhere in your assetbundles.
This feature idea is to add another table similar to the recently introduced mono_script table.
When we enumerate MonoBehaviour objects when we discover a SerializeReference instance we will add a row to the new table that has the assembly name, namespace and class, the riid, and the id of the MonoBehaviour. Ideally we would also capture the size of the serialized data for that object.
This code will automatically code ScriptableObjects because they are represented as MonoBehaviours in serialized data.
This implementation should be somewhat similar to how references are captured and recorded in the refs table, so it should be possible to implement in UnityDataTools without introducing any new concepts or complexity.
- As part of this task also introduce one or more views that shows information from the new table, similar to the new
script_object_view.
E.g. a view that shows all SerializeReference objects with
monobehaviour object id, name, assetbundle/serialized fie, riid, size, Class, NameSpace, Assembly Name
- Also update documentation to talk about the new table / view and use case for using it.
- Ngôn ngữ chính
- C#
- Star
- 821
- Fork
- 71
- Merge trung bình
- 3 giờ 13 phút
- Pull request đã merge (30 ngày)
- 9
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Unity-Technologies/UnityDataTools
-
Binary test data is not fully covered by .gitattributes and can be mangled by EOL conversion Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Unity-Technologies/UnityDataTools#116 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
Tất cả issue của Unity-Technologies/UnityDataTools
Issue tương tự
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
azurenoops/spin_agent#975 ·
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
SubtitleEdit/subtitleedit#15108 · 1 bình luận ·
-
area/docs-content Bug pulumi/docs
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 94/100