(UE5) Set Selected Actors Deprecated

I was wondering if this is just because it’s currently in early-access, and intended to be added back in at a later date, or if this was planned on being fully depreciated?

Get selected actors is still in the editor; so if I overlooked a new way to set them please let me know!

2 Likes

Same here. My two projects are broken in UE5 because the Editor Scripting Utilities being deprecated in UE5 EA.
For example, besides the “Set Selected Actors” also the “Select Nothing”, “Merge Static Mesh Actors” and more functions are not available, even with the Editor Scripting Utilities plugin enabled.
Please let us know when these useful functions will come back or how to replace them.

Use the new “EditorActorSubsystem” (UEditorActorSubsystem | Unreal Engine Documentation). Example:
img3

You can find more sensible deprecation messages in the UE5 source code, using github.

Thank you for the info! It is available only from the Editor Utility Widget class though, I can’t access it from the Editor Utility Actor.
The Merge Static Mesh Actors function is not available there, a few other functions are missing as well.
I’ll try to get into the source code and investigate it but I’m not really versed in this area yet (working with source code), so any clues would be greatly appreciated.

Update: Merge Static Mesh Actors is available in another subsystem:

… But still, these subsystems are available only from within the Editor Utility Widget class. Can’t access it from the Editor Utility Actor.

Update: The Static Mesh Editor Subsystem is accessible from the Editor Utility Actor, but I had to create a new Editor Utility Actor (tested in UE5). The old one (migrated from older project) can’t access it for some reason.

Update 2: It seems like these subsystems are available only when creating the Editor Utility Actor from the dropdown menu (RMB → Editor Utilities → Editor Utility Blueprint).
If we create it like a regular blueprint and pick Editor Utility Actor as a parent class (or reparent a blueprint to the Editor Utility Actor class), they are not available.

Update 3: In UE 5.0, these subsystems still are not available in previously created Editor Utility Actors. Which is strange, since they have the exact same parent class as the newly created ones.

2 Likes

As far as I can tell, Recreating the EditorActorUtility Blueprint is the only way to access these subsystems.

I did some digging and it seems that the Class of the Blueprint Asset is the issue. The BlueprintAsset that was migrated is of the class UBlueprint while new UEditorUtilityActors will create a blueprint asset of type UEditorUtilityBlueprint.

If you have migrated an EditorUtilityActor from UE 4.X, you can paste the desired GetEditorSubsystem call into your Blueprint and it still won’t compile with the error “Editor Subsystems can only be used in Editor Utilities / Blutilities.”

This is because the engine calls the function IBlutilityModule::IsEditorUtilityBlueprint to check that the given Blueprint Asset is a child of UEditorUtilityBlueprint or UEditorUtilityWidgetBlueprint. Since our migrated asset is of type UBlueprint, this check fails.

So we either need to recreate the affected blueprints or wait for Epic to change the Migrate tool.

2 Likes

Hi!

Something you could try (I just hit this same issue) is temporarily add this and resave the offending assets.

	TArray<FCoreRedirect> Redirects;
	Redirects.Emplace(ECoreRedirectFlags::Type_Class, TEXT("/Script/Engine.Blueprint"), TEXT("/Script/Blutility.EditorUtilityBlueprint"));
	FCoreRedirects::AddRedirectList(Redirects, TEXT("EditorUtilityConversion"));

In your project’s StartupModule.

Thanks for this tip! That was the issue.

1 Like

Has anyone else noticed that if you create such a blueprint that you won’t be able use buttons for functions with the “Call In Editor” flagged ticked? I hope its a bug and not some weird omission. :confused: