<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://pavlovwiki.com/index.php?action=history&amp;feed=atom&amp;title=Replacing_the_scoreboard</id>
	<title>Replacing the scoreboard - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://pavlovwiki.com/index.php?action=history&amp;feed=atom&amp;title=Replacing_the_scoreboard"/>
	<link rel="alternate" type="text/html" href="http://pavlovwiki.com/index.php?title=Replacing_the_scoreboard&amp;action=history"/>
	<updated>2026-04-29T15:06:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>http://pavlovwiki.com/index.php?title=Replacing_the_scoreboard&amp;diff=93&amp;oldid=prev</id>
		<title>MessiahPenguin: Created page with &quot;Guide by HTHazard   File:TutorialMenugif.gif  == Make a blueprint actor called widgetInteractor ==  Set it’s input to Player 0   File:CustomMenu1.png   Add a WidgetInteraction component, set pointer index to 10 in the class defaults, and visibility to 750   File:CustomMenu2.png   If you want, add a little cylinder attached to the widget so you can see where it’s pointing ingame:  File:CustomMenu3.png  Create two inputAction events, ScoreBoardLeft and...&quot;</title>
		<link rel="alternate" type="text/html" href="http://pavlovwiki.com/index.php?title=Replacing_the_scoreboard&amp;diff=93&amp;oldid=prev"/>
		<updated>2023-02-23T20:44:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Guide by HTHazard   &lt;a href=&quot;/index.php?title=File:TutorialMenugif.gif&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;File:TutorialMenugif.gif (page does not exist)&quot;&gt;File:TutorialMenugif.gif&lt;/a&gt;  == Make a blueprint actor called widgetInteractor ==  Set it’s input to Player 0   &lt;a href=&quot;/index.php/File:CustomMenu1.png&quot; title=&quot;File:CustomMenu1.png&quot;&gt;File:CustomMenu1.png&lt;/a&gt;   Add a WidgetInteraction component, set pointer index to 10 in the class defaults, and visibility to 750   &lt;a href=&quot;/index.php/File:CustomMenu2.png&quot; title=&quot;File:CustomMenu2.png&quot;&gt;File:CustomMenu2.png&lt;/a&gt;   If you want, add a little cylinder attached to the widget so you can see where it’s pointing ingame:  &lt;a href=&quot;/index.php/File:CustomMenu3.png&quot; title=&quot;File:CustomMenu3.png&quot;&gt;File:CustomMenu3.png&lt;/a&gt;  Create two inputAction events, ScoreBoardLeft and...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Guide by HTHazard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:TutorialMenugif.gif]]&lt;br /&gt;
&lt;br /&gt;
== Make a blueprint actor called widgetInteractor ==&lt;br /&gt;
&lt;br /&gt;
Set it’s input to Player 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add a WidgetInteraction component, set pointer index to 10 in the class defaults, and visibility to 750&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want, add a little cylinder attached to the widget so you can see where it’s pointing ingame:&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu3.png]]&lt;br /&gt;
&lt;br /&gt;
Create two inputAction events, ScoreBoardLeft and TriggerRight&lt;br /&gt;
Click each of them, set their properties as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu4.png]]&lt;br /&gt;
&lt;br /&gt;
Create a boolean named Open, Copy this structure for the events:&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu5.png]]&lt;br /&gt;
&lt;br /&gt;
Make sure to configure the Pointer Keys to left mouse button&lt;br /&gt;
&lt;br /&gt;
== VR menu ==&lt;br /&gt;
&lt;br /&gt;
Create new Widget Blueprint, named Menu_Widget&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu6.png]]&lt;br /&gt;
&lt;br /&gt;
Add a button inside of the widget. Check “Is Variable” in the top right of it’s options.&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu7.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to it’s graph, select your button in the Variables menu, and press onClicked and onHovered&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu8.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here’s some example logic you can do now. When it’s hovered by the pointer, turn the button green. When it’s clicked by the pointer, turn the button red.&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu9.png]]&lt;br /&gt;
&lt;br /&gt;
== Actor hosting Widget ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that we have a 2D menu designed, we need to place it onto a 3D surface. &lt;br /&gt;
Create a new blueprint actor called VrWorldMenu, and add a Widget component to it.&lt;br /&gt;
Set the widget class to your 2D widget we just created&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu10.png]]&lt;br /&gt;
&lt;br /&gt;
Set the actor’s input to the following:&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu11.png]]&lt;br /&gt;
&lt;br /&gt;
Add the scoreBoardLeft event like we did earlier, and give it this logic:&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu12.png]]&lt;br /&gt;
&lt;br /&gt;
== Spawning our actors and attaching them to the player ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ensure you have a playerProxy copied to your UGC folder, and that it is set as the default in your gamemode logic, which you’ve also copied to your UGC folder.&lt;br /&gt;
&lt;br /&gt;
Open your playerProxy and Setup the following events, callDoGiveInteractor is not replicated, and doGiveInteractor is run on client.&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu13.png|1600px]]&lt;br /&gt;
&lt;br /&gt;
Now, when callDoGiveInteractor is called on a playerProxy, it will spawn your 3D Menu as well as your widget Interactor, and attach them to your hands on clientside only&lt;br /&gt;
&lt;br /&gt;
Add this to your OnPlayerDeath event in order to remove our spawned 3D menu and interactor after the player dies&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu14.png]]&lt;br /&gt;
&lt;br /&gt;
Lastly, we just need to use callDoGiveInteractor from our game logic when a player spawns.&lt;br /&gt;
&lt;br /&gt;
Open up your game logic,&lt;br /&gt;
&lt;br /&gt;
Copy this structure to your OnPlayerSpawned event:&lt;br /&gt;
&lt;br /&gt;
[[File:CustomMenu15.png]]&lt;br /&gt;
&lt;br /&gt;
Now, when a player is spawned, your game logic runs an event on the server CallDoGiveInteractor, which then calls out to whichever person just spawned and tells their client to spawn the menus. Done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: The purpose of this guide is to show you the general structure of how your gamelogic can communicate with your playerProxy, and how the playerProxy can communicate with your handProxy. Reach out to the general public in #workshop-help to change functionality or if you need help with more advanced things.&lt;/div&gt;</summary>
		<author><name>MessiahPenguin</name></author>
	</entry>
</feed>