# mackysoft/Unity-SerializeReferenceExtensions

Provide popup to specify the type of the field serialized by the [SerializeReference] attribute in the inspector.

Repository: https://github.com/mackysoft/Unity-SerializeReferenceExtensions
Canonical: https://ross.abutalabs.com/products/unity-serializereferenceextensions
Language: C#
License: MIT
License Family: permissive
Topics: unity, csharp, c-sharp, serializereference, interface, unity-editor, serialization, polymorphism
Last push: 2026-01-18T16:36:11+00:00

## Health v2 (maintenance only)
Score: 71/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 63, release rhythm 66, longevity 100
- inputs: {"age_days": 1976, "days_push": 227, "days_rel": 227, "gap_med": 0, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1317, forks 91 (observed 2026-08-28T04:04:20.999521+00:00)

## What it is
A Unity editor extension that adds a SubclassSelector dropdown to the Inspector for fields serialized with Unity's [SerializeReference] attribute. It lets developers pick concrete types for polymorphic fields, with fuzzy search, collection and nested type support, and value-preserving type switching.

## Use cases
- select a concrete type for a SerializeReference field in the Unity inspector
- serialize polymorphic interface fields in Unity
- switch the type of a managed reference field without losing data
- copy and paste managed reference values in the Unity inspector
- customize type display names in a SerializeReference dropdown
- support generic SerializeReference fields with covariance and contravariance

## When to choose
- you use [SerializeReference] fields and need a friendly type picker in the Inspector
- you work with polymorphic data models in Unity 2021.3 LTS or later
- you want value-preserving type switching and copy/paste utilities for managed references

## When to avoid
- your project targets Unity versions before 2021.3 LTS
- you only need plain serializable fields without polymorphism
- you need runtime (non-editor) serialization changes rather than Inspector tooling

## Facets
- artifact type: library
- maturity: active
- function: serialization, ui-components, plugin-system
- domain: developer-tools
- platform: game-engine, editor-plugin
- tags: unity, unity-editor, serializereference, polymorphism, inspector, property-drawer, csharp, game-development

## Member repositories
- mackysoft/Unity-SerializeReferenceExtensions (main) score 71

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:20.999521+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:48:13.015332+00:00, confidence not recorded.
  - readme: https://github.com/mackysoft/Unity-SerializeReferenceExtensions (fetched 2026-08-28T04:04:20.999521+00:00, sha c611d5776cc0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
