-
Notifications
You must be signed in to change notification settings - Fork 71
Description
Component types are C++ classes that are referenced in assets and allocated entirely by their registration with the reflection system.
In statically linked builds the compiler dead-strips those classes since it doesn't know we need them (since we don't call any functions or even a constructor until runtime). We need a script to extract all the relevant types and generate some glue code to ensure the compiler doesn't discard them at link time.
In dynamically linked builds (like the editor) we need a system to ensure we dynamically load modules that are relevant to assets that need them. This goes hand-in-hand with dynamically loading modules that are build for specific projects. We can probably take a load-everything-under-the sun approach for the time being. The editor just needs to know where to look for modules to load into its address space before starting to load assets.