{"id":16632630,"url":"https://github.com/antonc9018/propertydrawerbytestest","last_synced_at":"2026-04-21T16:39:14.459Z","repository":{"id":104032549,"uuid":"479133943","full_name":"AntonC9018/PropertyDrawerBytesTest","owner":"AntonC9018","description":"Storage-efficient tagged unions in Unity","archived":false,"fork":false,"pushed_at":"2022-08-27T16:55:28.000Z","size":100,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T21:26:03.490Z","etag":null,"topics":["float32","unity3d"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AntonC9018.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-07T20:11:04.000Z","updated_at":"2022-10-17T21:12:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"65c28176-e836-4a5a-928e-8f9b11f2ee4a","html_url":"https://github.com/AntonC9018/PropertyDrawerBytesTest","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"4ec7aa707d7bf0c0c16ebd088b155850f3fc9f0b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AntonC9018/PropertyDrawerBytesTest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonC9018%2FPropertyDrawerBytesTest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonC9018%2FPropertyDrawerBytesTest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonC9018%2FPropertyDrawerBytesTest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonC9018%2FPropertyDrawerBytesTest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AntonC9018","download_url":"https://codeload.github.com/AntonC9018/PropertyDrawerBytesTest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntonC9018%2FPropertyDrawerBytesTest/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260134086,"owners_count":22963844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["float32","unity3d"],"created_at":"2024-10-12T05:01:14.645Z","updated_at":"2026-04-21T16:39:09.381Z","avatar_url":"https://github.com/AntonC9018.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nThe idea was to support serialization of proper tagged unions in Unity.\nCurrently, the only viable way to do tagged unions in Unity is to make a struct that has a field for every type of value to be available for use.\nThis is suboptimal, because it takes up more memory than necessary to do this.\nA better way would be to store the value inline, that is, have a fixed size byte array to hold it, and then reinterpret it on access for a specific type.\n\nIf the bytes are to be stored as-is by Unity's serialization system, or transfered over network, one will need a common representation for all of the basic types.\nAlso, we'd want a way to see the stored values in the Unity editor's inspector.\n\nSo this is an attempt at achieving that.\nI don't really need this functionality currently, so I just abandoned it.\n\nThe repository includes platform-independent binary serialization and deserialization of standard IEEE-whatever floats, which would be required for the aforementioned task.\n\nThe project may serve as a starting point to a person with similar goals in mind. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantonc9018%2Fpropertydrawerbytestest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantonc9018%2Fpropertydrawerbytestest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantonc9018%2Fpropertydrawerbytestest/lists"}