We are going to create a chatbox on all clients.
All steps are also explained in a video at the end.
Note : When building you sometime have to go back and forth.
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-71-809x1024.png)
Step 1: Create widget FD_ChatWindow and FD_ChatText
FD_ChatWindow:
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-66-1024x433.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-67-1024x497.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-68-1024x541.png)
FD_ChatText
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-70.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-69-1024x516.png)
Step 2 Add FD_ChatWindow and chatbutton in MainMenu.
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-73-1024x495.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-74-1024x625.png)
Step 3 : Blueprints FD_Chatwindow
You first have to make some events at the playercontroller
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-72-1024x553.png)
Step 4 : Add mainmenu in playercontroller, delete from gameinstance!
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-75-1024x527.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-76-1024x356.png)
Step 5 : Gamemode
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-77-1024x346.png)
step 6 : Playercontroller
ProjectSettings > Input > add binding chat enter
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-79.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-78-1024x536.png)
Video explaining
Video demonstration chatbox
Extra : Adding the mainmenu through the gameinstance.
I did not like my solution, where I added the mainmenu widget in the playercontroller instead of from teh gaminstance. Ofcourse both solutions are correct, but I want to keep the menu widgets on the gameinstance. So I made the next corrections.
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-80-1024x501.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-81-1024x490.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-82-1024x578.png)
![](https://unreal.fluiddynamics.eu/wp-content/uploads/2020/12/image-83-1024x498.png)
If you run, you will get the same result. In my opinion the second solution is more consistent with the idea to keep the menu’s on the gameinstance