Editor Utility Actor/Component - How are they stripped from the build?

I’m looking into creating a tool for level designers and wanted to extend the Editor Utility Actor class and also possibly the Editor Utility Actor Component.
In playing with these I found that when I do a build the EditorUtilityActor does indeed seem to be excluded from the build (which is exactly what I want).
I found this out by adding a cube to a simple EditorUtilityActor and placing it in a level and while the cube is visible in editor and PIE, it is not there in a cooked build.

Great this is all what I want buuuuut, I’d like understand more about what’s going on here.
I tried searching through source code but I couldn’t find anything that showed me exactly how the EditorUtilityActor is stripped from the build. The AEditorUtilityActor code doesn’t do anything that would strip it from the build and I can’t find any references to it in the build code.

Does anyone know exactly what is going on during a cook that removes these from the level? Also what happens if a runtime blueprint references that EditorUtilityActor? Does that reference just turn into a nullptr?

I ask because I may want to try creating some other types of components like an EditorUtilitySceneComponent but there’s nothing available like that. Just EditorUtilityActorComponent which I could try extending to work like a scene component but before doing that I wanted to have a better understanding of the whole end to end flow.

After a suggestion from UDN and some more experimenting I think the answer is as simple as putting the desired editor-only class in an editor module. EditorUtilityActor is in one and after trying out my own actor class in my own editor module, I get the same behavior.

I also found that there is no error when cooking if you reference an editor-only actor with a runtime actor. The reference just becomes a nullptr.

I did find that with editor-only components there is a caveat you have to watch out for. If you place the editor-only component on a runtime BP actor then connect that component to any pin then the BP will compile fine, but will break when you try to cook a build. This is fine I suppose but I’d much prefer it threw some sort of warning or error when compiling so you don’t get all the way to cook time before figuring out there’s an issue.