Navigation
API > API/Plugins > API/Plugins/AvalancheMedia
This class defines the interface and base of a playable group.
A playable group is intended to group playables according to the underlying rendering implementation. In most cases, it corresponds to a game instance, either owned or not, local to the process or remote.
It tracks and manage the playables state, transitions and visibility constraints.
The design goal of this class is to allow hooking the playable framework to any game instance, including PIE so it can work with any work flow (editor, PIE, game, nDisplay, etc).
Ideally, the playable class itself should be "game instance" agnostic and do all it's bidding on it's container through this class.
| Name | UAvaPlayableGroup |
| Type | class |
| Header File | /Engine/Plugins/VirtualProduction/Avalanche/Source/AvalancheMedia/Public/Playable/AvaPlayableGroup.h |
| Include Path | #include "Playable/AvaPlayableGroup.h" |
Syntax
UCLASS ()
class UAvaPlayableGroup : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UAvaPlayableGroup
Structs
| Name | Remarks |
|---|---|
| FPlayableGroupCreationInfo | PlayableGroup creation information contains the necessary information to create an instance of a playable group. |
| FVisibilityRequest |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void FindPlayablesBySourceAssetPath
(
const FSoftObjectPath& InSourceAssetPath, |
Finds all the playables that are instances of the given source asset. | Playable/AvaPlayableGroup.h | |
void ForEachPlayable
(
TFunctionRef< bool(UAvaPlayable*)> InFunction |
Playable/AvaPlayableGroup.h | ||
void ForEachPlayableTransition
(
TFunctionRef< bool(UAvaPlayableTransition*)> InFunction |
Playable/AvaPlayableGroup.h | ||
FName GetChannelName() |
Returns the broadcast channel name this playable group is part of. | Playable/AvaPlayableGroup.h | |
UGameInstance * GetGameInstance() |
Returns this group's game instance, if it has one. | Playable/AvaPlayableGroup.h | |
UAvaPlayableGroupManager * GetPlayableGroupManager() |
Playable/AvaPlayableGroup.h | ||
bool HasPlayables() |
Returns true if there are any valid registered playables. | Playable/AvaPlayableGroup.h | |
bool HasPlayingPlayables() |
Returns true if there are any valid registered playables that are currently playing. | Playable/AvaPlayableGroup.h | |
bool HasTransitions() |
Playable/AvaPlayableGroup.h | ||
bool IsSynchronizedEventPushed
(
const FString& InEventSignature |
Playable/AvaPlayableGroup.h | ||
void NotifyLevelStreaming
(
UAvaPlayable* InPlayable |
Notify the playable group that a playable is loading an asset. | Playable/AvaPlayableGroup.h | |
void PushSynchronizedEvent
(
FString&& InEventSignature, |
Playable/AvaPlayableGroup.h | ||
void RegisterPlayable
(
UAvaPlayable* InPlayable |
Register a playable to this group when it is created. | Playable/AvaPlayableGroup.h | |
void RegisterPlayableTransition
(
UAvaPlayableTransition* InPlayableTransition |
Playable/AvaPlayableGroup.h | ||
void RegisterVisibilityConstraint
(
const TWeakInterfacePtr< IAvaPlayableVisibilityConstraint >& InVisibilityConstraint |
Playable/AvaPlayableGroup.h | ||
void RequestSetVisibility
(
UAvaPlayable* InPlayable, |
Playable/AvaPlayableGroup.h | ||
void SetLastAppliedCameraPlayable
(
UAvaPlayable* InPlayable |
Keep track of the last playable that applied it's camera in the viewport/controller. | Playable/AvaPlayableGroup.h | |
void TickTransitions
(
double InDeltaSeconds |
Tick transitions that have been registered. Returns the number of transitions that where ticked. | Playable/AvaPlayableGroup.h | |
void UnregisterPlayable
(
UAvaPlayable* InPlayable |
Unregister a playable when it is about to be deleted. | Playable/AvaPlayableGroup.h | |
void UnregisterPlayableTransition
(
UAvaPlayableTransition* InPlayableTransition |
Playable/AvaPlayableGroup.h | ||
void UnregisterVisibilityConstraint
(
const IAvaPlayableVisibilityConstraint* InVisibilityConstraint |
Playable/AvaPlayableGroup.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool ConditionalBeginPlay
(
const FAvaInstancePlaySettings& InWorldPlaySettings |
Begin playing the game instance's world if it wasn't already. | Playable/AvaPlayableGroup.h | |
virtual bool ConditionalCreateWorld() |
Creates the game instance's world if it wasn't already. | Playable/AvaPlayableGroup.h | |
virtual bool ConditionalRequestUnloadWorld
(
bool bForceImmediate |
Unloads the game instance's world if no more playables are loaded. | Playable/AvaPlayableGroup.h | |
virtual UTextureRenderTarget2D * GetManagedRenderTarget() |
Returns the currently managed render target. | Playable/AvaPlayableGroup.h | |
virtual UWorld * GetPlayWorld() |
Returns this group's play world, if it has one. | Playable/AvaPlayableGroup.h | |
virtual UTextureRenderTarget2D * GetRenderTarget() |
Current logic for the render target: use the game instance's if present, fallback to internal one if not. | Playable/AvaPlayableGroup.h | |
virtual bool IsRenderTargetReady() |
Playable/AvaPlayableGroup.h | ||
virtual bool IsWorldPlaying() |
Playable/AvaPlayableGroup.h | ||
virtual void RequestEndPlayWorld
(
bool bInForceImmediate |
Playable/AvaPlayableGroup.h | ||
virtual void SetManagedRenderTarget
(
UTextureRenderTarget2D* InManageRenderTarget |
The playback graph determines if this playable group will render in a broadcast channel's render target or an offscreen one. | Playable/AvaPlayableGroup.h | |
virtual void SetupView
(
FSceneViewFamily& InViewFamily, |
Playable/AvaPlayableGroup.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ConditionalRegisterWorldDelegates
(
UWorld* InWorld |
Playable/AvaPlayableGroup.h | ||
bool DisplayLoadedAssets
(
FText& OutText, |
Playable/AvaPlayableGroup.h | ||
bool DisplayPlayingAssets
(
FText& OutText, |
Playable/AvaPlayableGroup.h | ||
bool DisplayTransitions
(
FText& OutText, |
Playable/AvaPlayableGroup.h | ||
void HidePawnsForView
(
const UWorld* InPlayWorld, |
Playable/AvaPlayableGroup.h | ||
bool IsVisibilityConstrained
(
const UAvaPlayable* InPlayable |
Playable/AvaPlayableGroup.h | ||
void OnPlayableStatusChanged
(
UAvaPlayable* InPlayable |
Playable/AvaPlayableGroup.h | ||
void UnregisterWorldDelegates
(
UWorld* InWorld |
Playable/AvaPlayableGroup.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UAvaPlayableGroup * FindPlayableGroupForWorld
(
const UWorld* InWorld, |
Search for the first playable group associated to the given world. | Playable/AvaPlayableGroup.h | |
static UAvaPlayableGroup * MakePlayableGroup
(
UObject* InOuter, |
Playable/AvaPlayableGroup.h |