# Blueprint Interface Documentation # ABookMenuActor ### Properties
**Property Name** | **Type** | **Access** | **Description** |
BookMenuData | UBookMenuData | EditAnywhere | Default Configuration Data for the Book, containing information such as the the widgets to be displayed as book pages |
SkeletalMeshComponent | USkeletalMeshComponent | VisibleAnywhere, BlueprintReadOnly | The animated book mesh |
StaticMeshComponent | UStaticMeshComponent | VisibleAnywhere, BlueprintReadOnly | A dummy static mesh component for doing traces. Needed to determine the UV coordinates based on trace hit results. The static mesh will be hidden in game. Must represent the book in a open state. |
LeftPageCollision | UBoxComponent | VisibleAnywhere, BlueprintReadOnly | Collision box used to determine which page of the book was traced |
RightPageCollision | UBoxComponent | VisibleAnywhere, BlueprintReadOnly | Collision box used to determine which page of the book was traced |
InteractionActor | ABookMenuInteractionActor | EditAnywhere, BlueprintReadOnly | Reference to the actor that redirects the interaction to a widget interaction component |
**Pin** | **Direction** | **Type** | **Description** |
In Book Menu Data | Input | UBookMenuData | The new Book Menu Data. Will be cloned internally. |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | UBookMenuData | A clone of the current Book Menu Data |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | Integer | the current page section index; -1 in case Anim Instance is not defined |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | Integer | the pending page section index; -1 in case Anim Instance is not defined |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | Integer | the current page index 0 = Left ; 1 = Right returns -1 in case Anim Instance is not defined |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | Boolean | true if the book is in open state; false if the book is in closed state |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | Boolean | true if the book should be in open state |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | Boolean | true if the book should be in closed state |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | TMap<int32,FPageSectionDataStruct> | an Map of the page sections of the book |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | ABookMenuInteractionActor | Returns the reference to the Book Menu Interaction Actor |
**Pin** | **Direction** | **Type** | **Description** |
In Interaction Actor | Input | ABookMenuInteractionActor | The Book Menu Interaction Actor to be set |
**Pin** | **Direction** | **Type** | **Description** |
In Interaction Component | Input | UBookMenuInteractionComponent | The Book Menu Interaction Component to be registered. |
**Pin** | **Direction** | **Type** | **Description** |
In Interaction Actor | Input | UBookMenuInteractionActor | The Book Menu Interaction Actor to be registered. |
**Pin** | **Direction** | **Type** | **Description** |
Section Index | Input | int32 | The index of the Page Section to be displayed |
**Pin** | **Direction** | **Type** | **Description** |
Section Index | Input | int32 | The Page Section Index to be displayed while opening the book |
**Pin** | **Direction** | **Type** | **Description** |
Start | Input | FVector | Start of the Line Trace |
End | Input | FVector | End of the Line Trace |
Debug Trace | Input | bool | Shows a debug trace if true. |
Trace Channel | Input | ECollisionChannel | The Collision Channel to be used for the line trace. |
Success | Output | EXEC | Indicates if the Interaction was executed successfully |
Failed | Output | EXEC | Indicates if the Interaction was not executed successfully |
Return Value | Output | bool | returns tru if the operation was successful. Otherwise false |
**Pin** | **Direction** | **Type** | **Description** |
Start | Input | FVector | Start of the Line Trace |
End | Input | FVector | End of the Line Trace |
OutUVCoordinates | Output | FVectro2d | The UV coordinates of the traced page |
Debug Trace | Input | bool | Shows a debug trace if true. |
Trace Channel | Input | ECollisionChannel | The Collision Channel to be used for the line trace. |
Success | Output | EXEC | Indicates if the Interaction was executed successfully |
Failed | Output | EXEC | Indicates if the Interaction was not executed successfully |
Return Value | Output | bool | returns tru if the operation was successful. Otherwise false |
**Pin** | **Direction** | **Type** | **Description** |
In Page Index | Input | Integer | The page index to set the focus to |
Debug Trace | Input | bool | Shows a debug trace if true. |
Success | Output | EXEC | Indicates if the Interaction was executed successfully |
Failed | Output | EXEC | Indicates if the Interaction was not executed successfully |
Return Value | Output | bool | returns tru if the operation was successful. Otherwise false |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | UBookMenuAnimInstance |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | UBoxComponent |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | UBoxComponent |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | UStaticMeshComponent |
**Property Name** | **Type** | **Access** | **Description** |
WidgetInteractionComponent | UWidgetInteractionComponent | VisibleAnywhere, BlueprintReadOnly | The widget interaction component used to redirect the book interaction onto a Widget Component |
PageWidgetComponentA | UWidgetComponent | VisibleAnywhere, BlueprintReadOnly | The widget component used to display the first page |
PageWidgetComponentB | UWidgetComponent | VisibleAnywhere, BlueprintReadOnly | The widget component used to display the second page |
PageWidgetComponentC | UWidgetComponent | VisibleAnywhere, BlueprintReadOnly | The widget component used to display the third page |
PageWidgetComponentD | UWidgetComponent | VisibleAnywhere, BlueprintReadOnly | The widget component used to display the fourth page |
ActiveWidgetComponent | UWidgetComponent | VisibleAnywhere, BlueprintReadOnly | The widget component which is currently under interaction |
DrawSize | UStaticMeshComponent | VisibleAnywhere, BlueprintReadOnly | The Draw Size of the Widget. User Widgets and Render Targets must have the same resolution. Will be set via the Book Menu Data of the Book Menu Actor |
**Pin** | **Direction** | **Type** | **Description** |
UV Coordinates | Input | FVector2D | UV Coordinates of the Book Page |
Debug Trace | Input | bool | Shows a debug trace if true |
Return Value | Output | bool | returns true if the operation was successful. Otherwise false. |
**Pin** | **Direction** | **Type** | **Description** |
Debug Trace | Input | bool | Shows a debug trace if true |
Return Value | Output | bool | returns true if the operation was successful. Otherwise false. |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | UWidgetInteractionComponent |
**Property Name** | **Type** | **Access** | **Description** |
SkeletalMesh | USkeletalMesh | EditAnywhere | The Skeletal Mesh to be set after Begin Play |
AnimInstanceClass | TSubclassOf<UBookMenuAnimInstance> | EditAnywhere | The Animation Blueprint class to be set after Begin Play |
PageMaterialIndexMapping | FPageMaterialIndexMapping | EditAnywhere | Mapping that tells us which Material Index of the Skeletal Mesh shall be used for which Page |
DefaultPageSection | FPageSectionDataStruct | EditAnywhere, BlueprintReadWrite | The Default Page Section to be used if no concrete Page Section is defined |
PageSections | TArray<FPageSectionDataStruct> | EditAnywhere, BlueprintReadWrite | List of Page Sections to be used inside the Book Menu Actor |
CoverMaterial | UMaterialInterface | EditAnywhere, BlueprintReadWrite | Material for the Cover |
bBookBeginsPlayOpen | bool | EditAnywhere, BlueprintReadWrite | If the book shall begin play in an open state or closed state |
StartPageSection | int32 | EditAnywhere, BlueprintReadWrite | If the book shall begin play in an open state, this is the page section to open the book at. Can also be accessed by the Book Menu Actor to handle respective behavior. |
DrawSize | FVector2D | EditDefaultsOnly | Draw Size of the Render Targets and the Widgets. Used to set the Draw Size on all involved Actors and components |
RedrawTime (Release 1.4+) | float | EditDefaultsOnly | Time between redraws. if 0 we would redraw every frame |
**Property Name** | **Type** | **Access** | **Description** |
BookMenuActor | ABookMenuActor | BlueprintReadOnly | The Owning Book Menu Actor |
PageSections | TMap<int32,FPageSectionDataStruct> | BlueprintReadOnly | List of all available Page Sections of the current book |
PageTextureA | UTextureRenderTarget2D | BlueprintReadWrite | Texture Render Target of the page one. Left side. |
PageTextureB | UTextureRenderTarget2D | BlueprintReadWrite | Texture Render Target of the page two. Right side. |
PageTextureC | UTextureRenderTarget2D | BlueprintReadWrite | Texture Render Target of the page three. Backside of page two. |
PageTextureD | UTextureRenderTarget2D | BlueprintReadWrite | Texture Render Target of the page four. Backside of page one. |
MaterialPageA | UMaterialInstanceDynamic | BlueprintReadWrite | Dynamic Material Instance of page one. Must have a Texture Parameter called BC |
MaterialPageB | UMaterialInstanceDynamic | BlueprintReadWrite | Dynamic Material Instance of page two. Must have a Texture Parameter called BC |
MaterialPageC | UMaterialInstanceDynamic | BlueprintReadWrite | Dynamic Material Instance of page three. Must have a Texture Parameter called BC |
MaterialPageD | UMaterialInstanceDynamic | BlueprintReadWrite | Dynamic Material Instance of page four. Must have a Texture Parameter called BC |
MaterialCover | UMaterialInstanceDynamic | BlueprintReadWrite | Dynamic Material Instance of The Cover. |
PageSectionAIndex | int32 | BlueprintReadOnly | Page Section Index for Pages one and two |
PageSectionBIndex | int32 | BlueprintReadOnly | Page Section Index for Pages three and four |
DefaultPageSection | FPageSectionDataStruct | BlueprintReadOnly | The Default Page Section in case there is no defined page section. |
CurrentPageSectionIndex | int32 | BlueprintReadOnly | The Current Page Section Index to be displayed on page one and two |
CurrentPageIndex | int32 | BlueprintReadOnly | The current Page the Interaction point on. Can be either the Left or the Right Page. |
PendingPageSectionIndex | int32 | BlueprintReadOnly | The Page Section Index that is pending while switching pages. |
DrawSize | FVector2D | BlueprintReadOnly | The Draw Size of the render targets. Must match the Widget Component Draw Size of the Book Interaction Actor. |
bBookIsOpen | bool | EditAnywhere, BlueprintReadOnly | Indicates if the book is or shall be in an opened state |
bBookShouldOpen | bool | BlueprintReadWrite | Indicates if the book should open |
bBookShouldClose | bool | BlueprintReadWrite | Indicates if the book should close |
bBookShouldSetKeyboardFocus | bool | BlueprintReadOnly | Indicates if KeyboardFocus is pending |
**Pin** | **Direction** | **Type** | **Description** |
InPageSections | Input | TArray<FPageSectionDataStruct> | List of Page Sections to be set. |
**Pin** | **Direction** | **Type** | **Description** |
InData | Input | UBookMenuData | The Book Menu Data |
InBookMenuActor | Inout | ABookMenuActor | The Book Menu Actor |
**Pin** | **Direction** | **Type** | **Description** |
SectionIndex | Input | int32 | the index of the Page Section to be displayed |
**Pin** | **Direction** | **Type** | **Description** |
SectionIndex | Input | int32 | The Page Section Index to be displayed while opening the book |
**Pin** | **Direction** | **Type** | **Description** |
IsTurnForward | Input | bool | Indicates if a page forward (true) or a page backward (false) animation was executed. |
**Property Name** | **Type** | **Access** | **Description** |
BookMenuActor | ABookMenuActor | VisibleAnywhere, BlueprintReadOnly | The spawned Book Menu Actor |
BookMenuData | UBookMenuData | VisibleAnywhere, BlueprintReadOnly | The Book Menu Data to initialize the spawned Book Menu Actor |
BookMenuActorClass | TSubclassOf<ABookMenuActor> | VisibleAnywhere, BlueprintReadOnly | The Class of the Book Menu Actor to be spawned at Begin Play |
**Pin** | **Direction** | **Type** | **Description** |
In Interaction Component | Input |
**Pin** | **Direction** | **Type** | **Description** |
In Interaction Actor | Input |
**Pin** | **Direction** | **Type** | **Description** |
Start | Input | FVector | Start of the Line Trace |
End | Input | FVector | End of the Line Trace |
Debug Trace | Input | bool | Shows a debug trace if true. |
Trace Channel | Input | ECollisionChannel | The Collision Channel to be used for the line trace. |
Success | Output | EXEC | Indicates if the Interaction was executed successfully |
Failed | Output | EXEC | Indicates if the Interaction was not executed successfully |
Return Value | Output | bool | returns true if the operation was successful. Otherwise false |
**Pin** | **Direction** | **Type** | **Description** |
Start | Input | FVector | Start of the Line Trace |
End | Input | FVector | End of the Line Trace |
Out UV Coordinates | Output | FVector2d | The UV Coordinate of the trace page |
Debug Trace | Input | bool | Shows a debug trace if true. |
Trace Channel | Input | ECollisionChannel | The Collision Channel to be used for the line trace. |
Success | Output | EXEC | Indicates if the Interaction was executed successfully |
Failed | Output | EXEC | Indicates if the Interaction was not executed successfully |
Return Value | Output | bool | returns true if the operation was successful. Otherwise false |
**Property Name** | **Type** | **Access** | **Description** |
BookMenuInteractionActorClass | TSubclassOf<ABookMenuInteractionActor> | EditAnywhere | The Class of the Book Menu Interaction Actor to be spawned at Begin Play |
InteractionActor | ABookMenuInteractionActor | BlueprintReadOnly | The spawned Book Menu Interaction Actor |
**Pin** | **Direction** | **Type** | **Description** |
Return Value | Output | UWidgetInteractionComponent |
**Pin** | **Direction** | **Type** | **Description** |
Player Controller | Input | APlayerController | The Player controller |
Trace Distance | Input | float | The distance (length) used to perform the trace |
Success | Output | EXEC | Indicates if the operation was successful |
Failed | Output | EXEC | Indicates if the operation was failed |
Out Start | Output | FVector | The resulting Start Coordinate of the Trace Parameters |
Out End | Output | FVector | he resulting End Coordinate of the Trace Parameters |
**Pin** | **Direction** | **Type** | **Description** |
In Widget Interaction Component | Input | UWidgetInteractionComponent | The Widget Interaction Component that shall be influenced |
In Widget Component | Input | UWidgetComponent | The Widget Component the Pointer shall be moved on |
In Reference Rotation | Input | FRotator | A reference rotation in order to do some relative calculations. e.g. the World Rotation of the Book Interaction Actor. |
UV Coordinates | Input | FVector2D | UV Coordinates to be translated onto the Widget |
Debug Trace | Input | bool | shows a debug trace if true. |
Return Value | Output | bool | returns true if the operation was successful. Otherwise false. |
**Pin** | **Direction** | **Type** | **Description** |
Book Menu Actor | Input | ABookMenuActor | The Book Menu Actor we ar looking for |
Start | Input | FVector | Start of the Trace |
End | Input | FVector | End of the Trace |
Debug Trace | Input | bool | shows a debug trace if true |
Trace Channel | Input | ECollisionChannel | The Collision Channel to be used for the Trace |
Out UV Coordinates | Output | FVector2D | The found UV Coordinates |
Out Page Index | Output | int32 | The found page index 0 = Left ; 1 = Right |
Return Value | Output | bool | returns true if the operation was successful. Otherwise false. |
**Parameter** | **Direction** | **Type** | **Description** |
Draw Size | Input | FVector2D | The DrawSize of the Render Target |
Filter | Input | TextureFilter | The Texture Filter to be applied |
Use Gamma Correction | Input | bool | Uses Gamma Correction if true |
Return Value | Output | UTextureRenderTarget2D | returns the created Render Target |
**Parameter** | **Direction** | **Type** | **Description** |
User Widget | Input | UUserWidget | The UserWidget to be rendered |
Render Target | Input | UTextureRenderTarget2D | The Target to be rendered on |
Draw Size | Input | FVector2D | The DrawSize of the Render Target |
Delta Time | Input | float | Delta time |
Use Gamma Correction | Input | bool | Uses Gamma Correction if true |
**Property Name** | **Type** | **Access** | **Description** |
BookMenuActor | ABookMenuActor | EditAnywhere | The Owning Book Menu Actor of the widget. Can be used to control the Book Menu actor from the widget |
PageSectionIndex | int32 | VisibleAnywhere, BlueprintReadOnly | The page section index of this widget. Can be used for navigation. |
PageIndex | int32 | VisibleAnywhere, BlueprintReadOnly | The page index. 0 = Left page, 1 = Right page |
**Pin** | **Direction** | **Type** | **Description** |
InBookMenuActor | Input | ABookMenuActor | The Owning Book Menu Actor of the widget. Can be used to control the Book Menu actor from the widget |
InPageSectionIndex | Input | int32 | The page section index of this widget. Can be used for navigation. |
InPageIndex | Input | int32 | The page index. 0 = Left page, 1 = Right page |