UnityClassRegistration.cpp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. extern "C" void RegisterStaticallyLinkedModulesGranular()
  2. {
  3. void RegisterModule_SharedInternals();
  4. RegisterModule_SharedInternals();
  5. void RegisterModule_Core();
  6. RegisterModule_Core();
  7. void RegisterModule_Animation();
  8. RegisterModule_Animation();
  9. void RegisterModule_Audio();
  10. RegisterModule_Audio();
  11. void RegisterModule_InputLegacy();
  12. RegisterModule_InputLegacy();
  13. void RegisterModule_IMGUI();
  14. RegisterModule_IMGUI();
  15. void RegisterModule_JSONSerialize();
  16. RegisterModule_JSONSerialize();
  17. void RegisterModule_PerformanceReporting();
  18. RegisterModule_PerformanceReporting();
  19. void RegisterModule_Physics();
  20. RegisterModule_Physics();
  21. void RegisterModule_RuntimeInitializeOnLoadManagerInitializer();
  22. RegisterModule_RuntimeInitializeOnLoadManagerInitializer();
  23. void RegisterModule_TextRendering();
  24. RegisterModule_TextRendering();
  25. void RegisterModule_TLS();
  26. RegisterModule_TLS();
  27. void RegisterModule_UI();
  28. RegisterModule_UI();
  29. void RegisterModule_UnityConnect();
  30. RegisterModule_UnityConnect();
  31. void RegisterModule_UnityWebRequest();
  32. RegisterModule_UnityWebRequest();
  33. void RegisterModule_UnityAnalytics();
  34. RegisterModule_UnityAnalytics();
  35. void RegisterModule_WebGL();
  36. RegisterModule_WebGL();
  37. }
  38. template <typename T> void RegisterUnityClass(const char*);
  39. template <typename T> void RegisterStrippedType(int, const char*, const char*);
  40. void InvokeRegisterStaticallyLinkedModuleClasses()
  41. {
  42. // Do nothing (we're in stripping mode)
  43. }
  44. namespace ObjectProduceTestTypes { class Derived; }
  45. namespace ObjectProduceTestTypes { class SubDerived; }
  46. class EditorExtension; template <> void RegisterUnityClass<EditorExtension>(const char*);
  47. namespace Unity { class Component; } template <> void RegisterUnityClass<Unity::Component>(const char*);
  48. class Behaviour; template <> void RegisterUnityClass<Behaviour>(const char*);
  49. class Animation;
  50. class Animator; template <> void RegisterUnityClass<Animator>(const char*);
  51. namespace Unity { class ArticulationBody; }
  52. class AudioBehaviour; template <> void RegisterUnityClass<AudioBehaviour>(const char*);
  53. class AudioListener; template <> void RegisterUnityClass<AudioListener>(const char*);
  54. class AudioSource; template <> void RegisterUnityClass<AudioSource>(const char*);
  55. class AudioFilter;
  56. class AudioChorusFilter;
  57. class AudioDistortionFilter;
  58. class AudioEchoFilter;
  59. class AudioHighPassFilter;
  60. class AudioLowPassFilter;
  61. class AudioReverbFilter;
  62. class AudioReverbZone;
  63. class Camera; template <> void RegisterUnityClass<Camera>(const char*);
  64. namespace UI { class Canvas; } template <> void RegisterUnityClass<UI::Canvas>(const char*);
  65. namespace UI { class CanvasGroup; } template <> void RegisterUnityClass<UI::CanvasGroup>(const char*);
  66. namespace Unity { class Cloth; }
  67. class Collider2D;
  68. class BoxCollider2D;
  69. class CapsuleCollider2D;
  70. class CircleCollider2D;
  71. class CompositeCollider2D;
  72. class EdgeCollider2D;
  73. class PolygonCollider2D;
  74. class TilemapCollider2D;
  75. class ConstantForce;
  76. class Effector2D;
  77. class AreaEffector2D;
  78. class BuoyancyEffector2D;
  79. class PlatformEffector2D;
  80. class PointEffector2D;
  81. class SurfaceEffector2D;
  82. class FlareLayer;
  83. class GridLayout;
  84. class Grid;
  85. class Tilemap;
  86. class Halo;
  87. class HaloLayer;
  88. class IConstraint;
  89. class AimConstraint;
  90. class LookAtConstraint;
  91. class ParentConstraint;
  92. class PositionConstraint;
  93. class RotationConstraint;
  94. class ScaleConstraint;
  95. class Joint2D;
  96. class AnchoredJoint2D;
  97. class DistanceJoint2D;
  98. class FixedJoint2D;
  99. class FrictionJoint2D;
  100. class HingeJoint2D;
  101. class SliderJoint2D;
  102. class SpringJoint2D;
  103. class WheelJoint2D;
  104. class RelativeJoint2D;
  105. class TargetJoint2D;
  106. class LensFlare;
  107. class Light; template <> void RegisterUnityClass<Light>(const char*);
  108. class LightProbeGroup;
  109. class LightProbeProxyVolume;
  110. class MonoBehaviour; template <> void RegisterUnityClass<MonoBehaviour>(const char*);
  111. class NavMeshAgent;
  112. class NavMeshObstacle;
  113. class OffMeshLink;
  114. class ParticleSystemForceField;
  115. class PhysicsUpdateBehaviour2D;
  116. class ConstantForce2D;
  117. class PlayableDirector;
  118. class Projector;
  119. class ReflectionProbe; template <> void RegisterUnityClass<ReflectionProbe>(const char*);
  120. class Skybox;
  121. class SortingGroup;
  122. class StreamingController;
  123. class Terrain;
  124. class VideoPlayer;
  125. class VisualEffect;
  126. class WindZone;
  127. namespace UI { class CanvasRenderer; } template <> void RegisterUnityClass<UI::CanvasRenderer>(const char*);
  128. class Collider; template <> void RegisterUnityClass<Collider>(const char*);
  129. class BoxCollider; template <> void RegisterUnityClass<BoxCollider>(const char*);
  130. class CapsuleCollider;
  131. class CharacterController;
  132. class MeshCollider; template <> void RegisterUnityClass<MeshCollider>(const char*);
  133. class SphereCollider;
  134. class TerrainCollider;
  135. class WheelCollider;
  136. class FakeComponent;
  137. namespace Unity { class Joint; }
  138. namespace Unity { class CharacterJoint; }
  139. namespace Unity { class ConfigurableJoint; }
  140. namespace Unity { class FixedJoint; }
  141. namespace Unity { class HingeJoint; }
  142. namespace Unity { class SpringJoint; }
  143. class LODGroup;
  144. class MeshFilter; template <> void RegisterUnityClass<MeshFilter>(const char*);
  145. class OcclusionArea;
  146. class OcclusionPortal;
  147. class ParticleSystem;
  148. class Renderer; template <> void RegisterUnityClass<Renderer>(const char*);
  149. class BillboardRenderer;
  150. class LineRenderer;
  151. class RendererFake;
  152. class MeshRenderer; template <> void RegisterUnityClass<MeshRenderer>(const char*);
  153. class ParticleSystemRenderer;
  154. class SkinnedMeshRenderer;
  155. class SpriteMask;
  156. class SpriteRenderer;
  157. class SpriteShapeRenderer;
  158. class TilemapRenderer;
  159. class TrailRenderer;
  160. class VFXRenderer;
  161. class Rigidbody; template <> void RegisterUnityClass<Rigidbody>(const char*);
  162. class Rigidbody2D;
  163. namespace TextRenderingPrivate { class TextMesh; }
  164. class Transform; template <> void RegisterUnityClass<Transform>(const char*);
  165. namespace UI { class RectTransform; } template <> void RegisterUnityClass<UI::RectTransform>(const char*);
  166. class Tree;
  167. class GameObject; template <> void RegisterUnityClass<GameObject>(const char*);
  168. class NamedObject; template <> void RegisterUnityClass<NamedObject>(const char*);
  169. class AssetBundle;
  170. class AssetBundleManifest;
  171. class AudioMixer;
  172. class AudioMixerController;
  173. class AudioMixerGroup;
  174. class AudioMixerGroupController;
  175. class AudioMixerSnapshot;
  176. class AudioMixerSnapshotController;
  177. class Avatar;
  178. class AvatarMask;
  179. class BillboardAsset;
  180. class ComputeShader; template <> void RegisterUnityClass<ComputeShader>(const char*);
  181. class Flare;
  182. namespace TextRendering { class Font; } template <> void RegisterUnityClass<TextRendering::Font>(const char*);
  183. class LightProbes; template <> void RegisterUnityClass<LightProbes>(const char*);
  184. class LightingSettings; template <> void RegisterUnityClass<LightingSettings>(const char*);
  185. class LocalizationAsset;
  186. class Material; template <> void RegisterUnityClass<Material>(const char*);
  187. class ProceduralMaterial;
  188. class Mesh; template <> void RegisterUnityClass<Mesh>(const char*);
  189. class Motion;
  190. class AnimationClip;
  191. class NavMeshData;
  192. class OcclusionCullingData;
  193. class PhysicMaterial;
  194. class PhysicsMaterial2D;
  195. class PreloadData; template <> void RegisterUnityClass<PreloadData>(const char*);
  196. class RayTracingShader;
  197. class RuntimeAnimatorController; template <> void RegisterUnityClass<RuntimeAnimatorController>(const char*);
  198. class AnimatorController; template <> void RegisterUnityClass<AnimatorController>(const char*);
  199. class AnimatorOverrideController; template <> void RegisterUnityClass<AnimatorOverrideController>(const char*);
  200. class SampleClip; template <> void RegisterUnityClass<SampleClip>(const char*);
  201. class AudioClip; template <> void RegisterUnityClass<AudioClip>(const char*);
  202. class Shader; template <> void RegisterUnityClass<Shader>(const char*);
  203. class ShaderVariantCollection;
  204. class SpeedTreeWindAsset;
  205. class Sprite; template <> void RegisterUnityClass<Sprite>(const char*);
  206. class SpriteAtlas; template <> void RegisterUnityClass<SpriteAtlas>(const char*);
  207. class SubstanceArchive;
  208. class TerrainData;
  209. class TerrainLayer;
  210. class TextAsset; template <> void RegisterUnityClass<TextAsset>(const char*);
  211. class MonoScript; template <> void RegisterUnityClass<MonoScript>(const char*);
  212. class Texture; template <> void RegisterUnityClass<Texture>(const char*);
  213. class BaseVideoTexture;
  214. class WebCamTexture;
  215. class CubemapArray; template <> void RegisterUnityClass<CubemapArray>(const char*);
  216. class LowerResBlitTexture; template <> void RegisterUnityClass<LowerResBlitTexture>(const char*);
  217. class ProceduralTexture;
  218. class RenderTexture; template <> void RegisterUnityClass<RenderTexture>(const char*);
  219. class CustomRenderTexture;
  220. class SparseTexture;
  221. class Texture2D; template <> void RegisterUnityClass<Texture2D>(const char*);
  222. class Cubemap; template <> void RegisterUnityClass<Cubemap>(const char*);
  223. class Texture2DArray; template <> void RegisterUnityClass<Texture2DArray>(const char*);
  224. class Texture3D; template <> void RegisterUnityClass<Texture3D>(const char*);
  225. class VideoClip;
  226. class VisualEffectObject;
  227. class VisualEffectAsset;
  228. class VisualEffectSubgraph;
  229. class EmptyObject;
  230. class GameManager; template <> void RegisterUnityClass<GameManager>(const char*);
  231. class GlobalGameManager; template <> void RegisterUnityClass<GlobalGameManager>(const char*);
  232. class AudioManager; template <> void RegisterUnityClass<AudioManager>(const char*);
  233. class BuildSettings; template <> void RegisterUnityClass<BuildSettings>(const char*);
  234. class DelayedCallManager; template <> void RegisterUnityClass<DelayedCallManager>(const char*);
  235. class GraphicsSettings; template <> void RegisterUnityClass<GraphicsSettings>(const char*);
  236. class InputManager; template <> void RegisterUnityClass<InputManager>(const char*);
  237. class MonoManager; template <> void RegisterUnityClass<MonoManager>(const char*);
  238. class NavMeshProjectSettings;
  239. class Physics2DSettings;
  240. class PhysicsManager; template <> void RegisterUnityClass<PhysicsManager>(const char*);
  241. class PlayerSettings; template <> void RegisterUnityClass<PlayerSettings>(const char*);
  242. class QualitySettings; template <> void RegisterUnityClass<QualitySettings>(const char*);
  243. class ResourceManager; template <> void RegisterUnityClass<ResourceManager>(const char*);
  244. class RuntimeInitializeOnLoadManager; template <> void RegisterUnityClass<RuntimeInitializeOnLoadManager>(const char*);
  245. class ScriptMapper; template <> void RegisterUnityClass<ScriptMapper>(const char*);
  246. class StreamingManager;
  247. class TagManager; template <> void RegisterUnityClass<TagManager>(const char*);
  248. class TimeManager; template <> void RegisterUnityClass<TimeManager>(const char*);
  249. class UnityConnectSettings; template <> void RegisterUnityClass<UnityConnectSettings>(const char*);
  250. class VFXManager;
  251. class LevelGameManager; template <> void RegisterUnityClass<LevelGameManager>(const char*);
  252. class LightmapSettings; template <> void RegisterUnityClass<LightmapSettings>(const char*);
  253. class NavMeshSettings;
  254. class OcclusionCullingSettings;
  255. class RenderSettings; template <> void RegisterUnityClass<RenderSettings>(const char*);
  256. class NativeObjectType;
  257. class PropertyModificationsTargetTestObject;
  258. class SerializableManagedHost;
  259. class SerializableManagedRefTestClass;
  260. namespace ObjectProduceTestTypes { class SiblingDerived; }
  261. class TestObjectVectorPairStringBool;
  262. class TestObjectWithSerializedAnimationCurve;
  263. class TestObjectWithSerializedArray;
  264. class TestObjectWithSerializedMapStringBool;
  265. class TestObjectWithSerializedMapStringNonAlignedStruct;
  266. class TestObjectWithSpecialLayoutOne;
  267. class TestObjectWithSpecialLayoutTwo;
  268. void RegisterAllClasses()
  269. {
  270. void RegisterBuiltinTypes();
  271. RegisterBuiltinTypes();
  272. //Total: 71 non stripped classes
  273. //0. Animator
  274. RegisterUnityClass<Animator>("Animation");
  275. //1. AnimatorController
  276. RegisterUnityClass<AnimatorController>("Animation");
  277. //2. AnimatorOverrideController
  278. RegisterUnityClass<AnimatorOverrideController>("Animation");
  279. //3. RuntimeAnimatorController
  280. RegisterUnityClass<RuntimeAnimatorController>("Animation");
  281. //4. AudioBehaviour
  282. RegisterUnityClass<AudioBehaviour>("Audio");
  283. //5. AudioClip
  284. RegisterUnityClass<AudioClip>("Audio");
  285. //6. AudioListener
  286. RegisterUnityClass<AudioListener>("Audio");
  287. //7. AudioManager
  288. RegisterUnityClass<AudioManager>("Audio");
  289. //8. AudioSource
  290. RegisterUnityClass<AudioSource>("Audio");
  291. //9. SampleClip
  292. RegisterUnityClass<SampleClip>("Audio");
  293. //10. Behaviour
  294. RegisterUnityClass<Behaviour>("Core");
  295. //11. BuildSettings
  296. RegisterUnityClass<BuildSettings>("Core");
  297. //12. Camera
  298. RegisterUnityClass<Camera>("Core");
  299. //13. Unity::Component
  300. RegisterUnityClass<Unity::Component>("Core");
  301. //14. ComputeShader
  302. RegisterUnityClass<ComputeShader>("Core");
  303. //15. Cubemap
  304. RegisterUnityClass<Cubemap>("Core");
  305. //16. CubemapArray
  306. RegisterUnityClass<CubemapArray>("Core");
  307. //17. DelayedCallManager
  308. RegisterUnityClass<DelayedCallManager>("Core");
  309. //18. EditorExtension
  310. RegisterUnityClass<EditorExtension>("Core");
  311. //19. GameManager
  312. RegisterUnityClass<GameManager>("Core");
  313. //20. GameObject
  314. RegisterUnityClass<GameObject>("Core");
  315. //21. GlobalGameManager
  316. RegisterUnityClass<GlobalGameManager>("Core");
  317. //22. GraphicsSettings
  318. RegisterUnityClass<GraphicsSettings>("Core");
  319. //23. InputManager
  320. RegisterUnityClass<InputManager>("Core");
  321. //24. LevelGameManager
  322. RegisterUnityClass<LevelGameManager>("Core");
  323. //25. Light
  324. RegisterUnityClass<Light>("Core");
  325. //26. LightingSettings
  326. RegisterUnityClass<LightingSettings>("Core");
  327. //27. LightmapSettings
  328. RegisterUnityClass<LightmapSettings>("Core");
  329. //28. LightProbes
  330. RegisterUnityClass<LightProbes>("Core");
  331. //29. LowerResBlitTexture
  332. RegisterUnityClass<LowerResBlitTexture>("Core");
  333. //30. Material
  334. RegisterUnityClass<Material>("Core");
  335. //31. Mesh
  336. RegisterUnityClass<Mesh>("Core");
  337. //32. MeshFilter
  338. RegisterUnityClass<MeshFilter>("Core");
  339. //33. MeshRenderer
  340. RegisterUnityClass<MeshRenderer>("Core");
  341. //34. MonoBehaviour
  342. RegisterUnityClass<MonoBehaviour>("Core");
  343. //35. MonoManager
  344. RegisterUnityClass<MonoManager>("Core");
  345. //36. MonoScript
  346. RegisterUnityClass<MonoScript>("Core");
  347. //37. NamedObject
  348. RegisterUnityClass<NamedObject>("Core");
  349. //38. Object
  350. //Skipping Object
  351. //39. PlayerSettings
  352. RegisterUnityClass<PlayerSettings>("Core");
  353. //40. PreloadData
  354. RegisterUnityClass<PreloadData>("Core");
  355. //41. QualitySettings
  356. RegisterUnityClass<QualitySettings>("Core");
  357. //42. UI::RectTransform
  358. RegisterUnityClass<UI::RectTransform>("Core");
  359. //43. ReflectionProbe
  360. RegisterUnityClass<ReflectionProbe>("Core");
  361. //44. Renderer
  362. RegisterUnityClass<Renderer>("Core");
  363. //45. RenderSettings
  364. RegisterUnityClass<RenderSettings>("Core");
  365. //46. RenderTexture
  366. RegisterUnityClass<RenderTexture>("Core");
  367. //47. ResourceManager
  368. RegisterUnityClass<ResourceManager>("Core");
  369. //48. RuntimeInitializeOnLoadManager
  370. RegisterUnityClass<RuntimeInitializeOnLoadManager>("Core");
  371. //49. ScriptMapper
  372. RegisterUnityClass<ScriptMapper>("Core");
  373. //50. Shader
  374. RegisterUnityClass<Shader>("Core");
  375. //51. Sprite
  376. RegisterUnityClass<Sprite>("Core");
  377. //52. SpriteAtlas
  378. RegisterUnityClass<SpriteAtlas>("Core");
  379. //53. TagManager
  380. RegisterUnityClass<TagManager>("Core");
  381. //54. TextAsset
  382. RegisterUnityClass<TextAsset>("Core");
  383. //55. Texture
  384. RegisterUnityClass<Texture>("Core");
  385. //56. Texture2D
  386. RegisterUnityClass<Texture2D>("Core");
  387. //57. Texture2DArray
  388. RegisterUnityClass<Texture2DArray>("Core");
  389. //58. Texture3D
  390. RegisterUnityClass<Texture3D>("Core");
  391. //59. TimeManager
  392. RegisterUnityClass<TimeManager>("Core");
  393. //60. Transform
  394. RegisterUnityClass<Transform>("Core");
  395. //61. BoxCollider
  396. RegisterUnityClass<BoxCollider>("Physics");
  397. //62. Collider
  398. RegisterUnityClass<Collider>("Physics");
  399. //63. MeshCollider
  400. RegisterUnityClass<MeshCollider>("Physics");
  401. //64. PhysicsManager
  402. RegisterUnityClass<PhysicsManager>("Physics");
  403. //65. Rigidbody
  404. RegisterUnityClass<Rigidbody>("Physics");
  405. //66. TextRendering::Font
  406. RegisterUnityClass<TextRendering::Font>("TextRendering");
  407. //67. UI::Canvas
  408. RegisterUnityClass<UI::Canvas>("UI");
  409. //68. UI::CanvasGroup
  410. RegisterUnityClass<UI::CanvasGroup>("UI");
  411. //69. UI::CanvasRenderer
  412. RegisterUnityClass<UI::CanvasRenderer>("UI");
  413. //70. UnityConnectSettings
  414. RegisterUnityClass<UnityConnectSettings>("UnityConnect");
  415. }