In reply to jmlemay:
Only classes derived from uvm_component try to assign registered fields in the build_phase when your component calls super.build_phase(), or when calling uvm_component::apply_config_settings() explicitly. An object derived directly from uvm_object does not have this functionality; you need to call uvm_config_db::get() for each individual field.
We recommend against using the field macros. Are OVM & UVM Macros Evil? A Cost-Benefit Analysis – DVCon Proceedings Archive