Description

Currently FExtensibilityManager assumes that all extensibility is going to operate on TArray<UObject*>.

Moving forward, we want to be able to supply custom, domain-specific context information to extensibility managers. One use case is inside sequencer, where we want to be able to supply the sequencer, and movie scene sequence at extension points.

The easiest way would probably be to make this type (or a the subset of it that deals with the delegate bindings) a template on the context type.

As such we would be able to extend like so:

struct FContextInformation
{
    ...
};

TExtensibilityManager<FContextInformation> ExtensibilityManager;


TSharedRef<FExtender> CreateExtender(const TSharedRef<FUICommandList>, const FContextInformation& Context)
{
    ...
}
ExtensibilityManager.GetExtenderDelegates().AddStatic(CreateExtender);

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-37158 in the post.

1
Login to Vote

Won't Fix
ComponentTools
Affects Versions4.14
CreatedOct 11, 2016
ResolvedAug 18, 2021
UpdatedAug 21, 2021