From b4f62a632d1731aadbfe36634c31b8a4b4bed8dd Mon Sep 17 00:00:00 2001
From: Makihiro <13536348+mackysoft@users.noreply.github.com>
Date: Tue, 20 Oct 2026 17:27:25 +0900
Subject: [PATCH] docs(readme): link to the Discussions FAQ
Why
Recurring support questions need a shared answer without duplicating the README's usage and type rules.
What Changed
Link the published FAQ and direct usage questions to Discussions. Keep Unity serialization constraints with the type rules and preserve the type-rename anchor used by older issue links.
Impact
Documentation only; no package source or Unity project files change.
---
README.md | 38 ++++++--------------------------------
1 file changed, 6 insertions(+), 32 deletions(-)
diff --git a/README.md b/README.md
index da3638b..011d682 100644
--- a/README.md
+++ b/README.md
@@ -208,45 +208,19 @@ The dropdown list is built by:
|generic base type (Unity < 2023.2)|⚠️| Unity engine limitations may prevent correct serialization of generic instances|
-## ❓ FAQ
-
-### Why is my type not shown in the dropdown?
-
-Check the eligibility rules:
-
-- Is it `[Serializable]`?
-- Is it `abstract`?
-- Is it a generic candidate type?
-- Does it derive from `UnityEngine.Object`?
-- Is `[HideInTypeMenu]` applied?
-
-### Can I select MonoBehaviour / ScriptableObject?
-
-No. Unity does not allow `UnityEngine.Object` types in `SerializeReference`.
+### Unity serialization constraints
-### Structs (value types)
+Unity does not allow `UnityEngine.Object` types, including `MonoBehaviour` and `ScriptableObject`, in `SerializeReference` fields. Its [SerializeReference documentation](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/SerializeReference.html) also excludes value types. Boxed structs may work in some scenarios; if you rely on them, verify serialization on your target Unity versions and prefer classes when possible.
-Unity documentation states that value types are not supported for SerializeReference,
-but in practice boxed structs may work in some scenarios.
-If you rely on structs, test on your target Unity versions and prefer classes when possible.
-
-### If the type is renamed, the reference is lost.
-
-It is a limitation of `SerializeReference` of Unity.
-
-When serializing a `SerializeReference` reference, the type name, namespace, and assembly name are used, so if any of these are changed, the reference cannot be resolved during deserialization.
-
-To solve this problem, `UnityEngine.Scripting.APIUpdating.MovedFromAttribute` can be used.
+## ❓ FAQ
-Also, [this thread](https://forum.unity.com/threads/serializereference-data-loss-when-class-name-is-changed.736874/) will be helpful.
+
-#### References
-- https://forum.unity.com/threads/serializereference-data-loss-when-class-name-is-changed.736874/
-- https://issuetracker.unity3d.com/issues/serializereference-serialized-reference-data-lost-when-the-class-name-is-refactored
+See the [FAQ in Discussions](https://github.com/mackysoft/Unity-SerializeReferenceExtensions/discussions/121) for shared references in collections, type migrations, custom Inspector integrations, and copy/paste scope.
# ✉ Help & Contribute
-I welcome feature requests and bug reports in [issues](https://github.com/mackysoft/Unity-SerializeReferenceExtensions/issues).
+For usage questions and community discussions, visit [Discussions](https://github.com/mackysoft/Unity-SerializeReferenceExtensions/discussions). Feature requests and reproducible bug reports are welcome in [Issues](https://github.com/mackysoft/Unity-SerializeReferenceExtensions/issues).
If you feel that my works are worthwhile, I would greatly appreciate it if you could sponsor me.