We are trying to recreate [https://www.drupal.org/project/menu_editor][1] for Drupal 8. So our idea is to extend `MenuForm` and then override the form in our own way to achieve what menu_editor for Drupal 7 provides. We created a custom module called menu_editor and there we created a route. entity.menu.power_edit_form: path: '/admin/structure/menu/manage/power_edit/{menu}' defaults: _form: '\Drupal\menu_editor\Form\MenuEditor' _title_callback: '\Drupal\menu_ui\Controller\MenuController::menuTitle' requirements: _permission: 'access content' Inside `MenuEditor`, we extend `MenuForm`. namespace Drupal\menu_editor\Form; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Menu\MenuLinkManagerInterface; use Drupal\Core\Menu\MenuLinkTreeInterface; use Drupal\Core\Utility\LinkGeneratorInterface; use Drupal\menu_link_content\MenuLinkContentStorageInterface; use Drupal\menu_ui\MenuForm; use Drupal\system\MenuInterface; /** * Class MenuEditor. */ class MenuEditor extends MenuForm { var $menu; public function __construct(MenuLinkManagerInterface $menu_link_manager, MenuLinkTreeInterface $menu_tree, LinkGeneratorInterface $link_generator, MenuLinkContentStorageInterface $menu_link_content_storage) { // Trying to inject menu as suggested in https://drupal.stackexchange.com/questions/219431/entity-form-additional-arguments but not sure how we can get menu object over here $form_object = \Drupal::entityTypeManager()->getFormObject('menu', 'edit'); $form_object->setEntity($this->menu); parent::__construct($menu_link_manager, $menu_tree, $link_generator, $menu_link_content_storage); } /** * {@inheritdoc} */ public function getFormId() { return 'menu_editor'; } /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state, MenuInterface $menu = NULL) { // Can get menu object over here but not sure how I can pass this in constructor. $this->menu = $menu; } /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { parent::submitForm($form, $form_state); } } Whenever we are running this code, we get the following error. > TypeError: Argument 1 passed to Drupal\Core\Entity\EntityForm::setEntity() must implement interface Drupal\Core\Entity\EntityInterface, null given I do understand that using `$this` in the form will not help, since the constructor is called before, but I am not sure how to accomplish this. [1]: https://www.drupal.org/project/menu_editor