Add Custom C++ Class to Place Actors Categories

Is it easily possible to add a custom Actor class that I made to, say, the “Basic” category in the Place Actors window?

My Actor does not really need subclasses so when spawning them in the level it makes more sense for me to just click and drag the class in (all its unique properties are unique to each instance). I can see the class in the place actors window under “All Classes” but there’s a bunch of other junk in there but can’t find a way to make it appear in the Basic category or make my own category.

I do not have source access for this project and would like to avoid having to do it for something this simple if possible.

Recently Placed (above Basic category)?
If it is not enough Editor\PlacementMode\Private\PlacementModeModule.cpp (~line 122) is a good starting point if you want to add new Basic class to the list but you have to rebuild the engine: Building Unreal Engine from Source | Unreal Engine Documentation

(post deleted by author)

Not sure how it was done but this plugin adds custom categories to the Place Actors menu:

That menu is managed by Actor factories, which not only manages that menu and not just place specific classes of actor, but different setups of it, they also manage asset drag and drop to world. So you need to make UActorFactory and properly set it varables and override proper function whatever you want it to make,most importantly NewActorClass to have class of actor you want to spawn, bShowInEditorQuickMenu should be true and you should also set DisplayName

https://docs.unrealengine.com/4.27/en-US/API/Editor/UnrealEd/ActorFactories/UActorFactory/

Note that this class in UnrealEd module so your module also need to be editor only or else packaging of game gonna fail

1 Like