Этот код в любом скрипте MonoBehaviour не заставляет 'asd' хранить поля преобразования:
var asd = transform.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public);
Этот код на любом другом созданном мной типе заставит 'asd' хранить массив закрытых и открытыхсвойства этого типа.
Следовательно, в чем отличие моего нового типа и Transform?
Есть ли какие-нибудь BindingFlags, которые я должен добавить?