đŸ”Ŧ
MIP HyperLInk Chat System
  • 👋Welcome to MIP Multiplayer HyperLink Chat System
  • Overview
    • ✨Our Features
  • Fundamentals
    • đŸ› ī¸Setup on a new project
  • Example Content
    • â„šī¸Guide
    • đŸ”ŗLink Item Example
  • Key Components
    • đŸ–Ĩī¸Player Controller Components
    • đŸ–Ĩī¸Game State Components
    • đŸ–Ĩī¸Game Mode Components
    • đŸ–Ĩī¸Pawn Components
  • Patch Notes
    • v1.1
    • v1.2
    • v1.2.1
  • DEMO PROJECT
    • How to run demo project
Powered by GitBook
On this page
  1. Fundamentals

Setup on a new project

PreviousOur FeaturesNextGuide

Last updated 1 year ago

Step 1: Prerequisite
  • Skip step 1, 2 if u want to use the plugin from engine content and Enable MIPChatSystem in Plugins setting

  1. Copy MIPChatSystem and paste it in new project Plugins folder

  2. Copy the settings and paste it in new project DefaultGame.ini

[/Script/MIPChatSystem.MIPChatSettings]
StyleConfigFilePath=/MIPChatSystem/DataAsset/DA_ChatTextBlockStyles.DA_ChatTextBlockStyles
DefaultChatItemWidgetClass=WidgetBlueprintGeneratedClass'/MIPChatSystem/Widgets/W_ChatItem.W_ChatItem_C'
DefaultChatChannelStylesMap=(((TagName="Chat.Channel.System"), BlueprintGeneratedClass'"/MIPChatSystem/Assets/Styles/BP_CCS_System.BP_CCS_System_C"'),((TagName="Chat.Channel.Server"), BlueprintGeneratedClass'"/MIPChatSystem/Assets/Styles/BP_CCS_Server.BP_CCS_Server_C"'),((TagName="Chat.Channel.General"), BlueprintGeneratedClass'"/MIPChatSystem/Assets/Styles/BP_CCS_General.BP_CCS_General_C"'),((TagName="Chat.Channel.Guild"), BlueprintGeneratedClass'"/MIPChatSystem/Assets/Styles/BP_CCS_Guild.BP_CCS_Guild_C"'),((TagName="Chat.Channel.Party"), BlueprintGeneratedClass'"/MIPChatSystem/Assets/Styles/BP_CCS_Party.BP_CCS_Party_C"'),((TagName="Chat.Channel.Whisper"), BlueprintGeneratedClass'"/MIPChatSystem/Assets/Styles/BP_CCS_Whisper.BP_CCS_Whisper_C"'),((TagName="Chat.Channel.World"), BlueprintGeneratedClass'"/MIPChatSystem/Assets/Styles/BP_CCS_World.BP_CCS_World_C"'))
DefaultChatTextBlockStyle=(Font=(FontObject=Font'"/Engine/EngineFonts/Roboto.Roboto"',FontMaterial=None,OutlineSettings=(OutlineSize=0,bSeparateFillAlpha=False,bApplyOutlineToDropShadows=False,OutlineMaterial=None,OutlineColor=(R=0.000000,G=0.000000,B=0.000000,A=1.000000)),TypefaceFontName="Regular",Size=12,LetterSpacing=0),ColorAndOpacity=(SpecifiedColor=(R=1.000000,G=0.000000,B=1.000000,A=1.000000),ColorUseRule=UseColor_Specified),ShadowOffset=(X=0.000000,Y=0.000000),ShadowColorAndOpacity=(R=0.000000,G=0.000000,B=0.000000,A=1.000000),SelectedBackgroundColor=(SpecifiedColor=(R=1.000000,G=0.000000,B=1.000000,A=1.000000),ColorUseRule=UseColor_Foreground),HighlightColor=(SpecifiedColor=(R=0.000000,G=0.000000,B=0.000000,A=1.000000),ColorUseRule=UseColor_Specified),HighlightShape=(ImageSize=(X=32.000000,Y=32.000000),Margin=(Left=0.000000,Top=0.000000,Right=0.000000,Bottom=0.000000),TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseColor_Specified),OutlineSettings=(CornerRadii=(X=0.000000,Y=0.000000,Z=0.000000,W=1.000000),Color=(SpecifiedColor=(R=0.000000,G=0.000000,B=0.000000,A=0.000000),ColorUseRule=UseColor_Specified),Width=0.000000,RoundingType=HalfHeightRadius,bUseBrushTransparency=False),ResourceObject=None,ResourceName="",UVRegion=(Min=(X=0.000000,Y=0.000000),Max=(X=0.000000,Y=0.000000),bIsValid=0),DrawAs=Image,Tiling=NoTile,Mirroring=NoMirror,ImageType=NoImage,bIsDynamicallyLoaded=False),StrikeBrush=(ImageSize=(X=32.000000,Y=32.000000),Margin=(Left=0.000000,Top=0.000000,Right=0.000000,Bottom=0.000000),TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseColor_Specified),OutlineSettings=(CornerRadii=(X=0.000000,Y=0.000000,Z=0.000000,W=1.000000),Color=(SpecifiedColor=(R=0.000000,G=0.000000,B=0.000000,A=0.000000),ColorUseRule=UseColor_Specified),Width=0.000000,RoundingType=HalfHeightRadius,bUseBrushTransparency=False),ResourceObject=None,ResourceName="",UVRegion=(Min=(X=0.000000,Y=0.000000),Max=(X=0.000000,Y=0.000000),bIsValid=0),DrawAs=Image,Tiling=NoTile,Mirroring=NoMirror,ImageType=NoImage,bIsDynamicallyLoaded=False),UnderlineBrush=(ImageSize=(X=32.000000,Y=32.000000),Margin=(Left=0.000000,Top=0.000000,Right=0.000000,Bottom=0.000000),TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseColor_Specified),OutlineSettings=(CornerRadii=(X=0.000000,Y=0.000000,Z=0.000000,W=1.000000),Color=(SpecifiedColor=(R=0.000000,G=0.000000,B=0.000000,A=0.000000),ColorUseRule=UseColor_Specified),Width=0.000000,RoundingType=HalfHeightRadius,bUseBrushTransparency=False),ResourceObject=None,ResourceName="",UVRegion=(Min=(X=0.000000,Y=0.000000),Max=(X=0.000000,Y=0.000000),bIsValid=0),DrawAs=Image,Tiling=NoTile,Mirroring=NoMirror,ImageType=NoImage,bIsDynamicallyLoaded=False),TransformPolicy=None,OverflowPolicy=Clip)
DefaultChatTabsAndAllowedChannels=(("Chat1", (GameplayTags=((TagName="Chat.Channel.Server"),(TagName="Chat.Channel.General"),(TagName="Chat.Channel.Guild"),(TagName="Chat.Channel.Party"),(TagName="Chat.Channel.Whisper"),(TagName="Chat.Channel.World"),(TagName="Chat.Channel.System")))),("Chat2", (GameplayTags=((TagName="Chat.Channel.System"),(TagName="Chat.Channel.Whisper")))),("Chat3", (GameplayTags=((TagName="Chat.Channel.Server"),(TagName="Chat.Channel.System")))),("Chat4", (GameplayTags=((TagName="Chat.Channel.Server"),(TagName="Chat.Channel.System"),(TagName="Chat.Channel.General")))))
DefaultNewChatTabAllowedChannels=(GameplayTags=((TagName="Chat.Channel.Server")))
DefaultChatTabWidgetClass=WidgetBlueprintGeneratedClass'/MIPChatSystem/Widgets/ChatTab/W_ChatTab.W_ChatTab_C'
DefaultChatTabTitleWidgetClass=WidgetBlueprintGeneratedClass'/MIPChatSystem/Widgets/ChatTab/W_ChatTabTitle.W_ChatTabTitle_C'
DefaultChatTabsContainerWidgetClass=WidgetBlueprintGeneratedClass'/MIPChatSystem/Widgets/ChatTab/W_ChatTabsContainer.W_ChatTabsContainer_C'
DefaultMessageReceivedProcessorClass=None
DefaultRequireSenderNameChannels=(GameplayTags=((TagName="Chat.Channel.General"),(TagName="Chat.Channel.Guild"),(TagName="Chat.Channel.Party"),(TagName="Chat.Channel.Server"),(TagName="Chat.Channel.Whisper"),(TagName="Chat.Channel.World")))
DefaultChatMainWidgetClass=WidgetBlueprintGeneratedClass'/MIPChatSystem/Widgets/W_ChatMainWidget.W_ChatMainWidget_C'
DefaultAllowedChannelItemWidgetClass=WidgetBlueprintGeneratedClass'/MIPChatSystem/Widgets/ChatTabSetting/W_ChatTabAllowedChannelItem.W_ChatTabAllowedChannelItem_C'
DefaultChatCommandsMap=(("a", (TagName="Chat.Channel.General")),("g", (TagName="Chat.Channel.Guild")),("p", (TagName="Chat.Channel.Party")),("s", (TagName="Chat.Channel.Server")),("w", (TagName="Chat.Channel.Whisper")),("h", (TagName="Chat.Channel.World")),("r", (TagName="Chat.Channel")),("dance", (TagName="ChatCommand.AnimAction.Dance")),("bye", (TagName="ChatCommand.AnimAction.Bye")),("hello", (TagName="ChatCommand.AnimAction.Hello")),("hi", (TagName="ChatCommand.AnimAction.Hello")))
+DefaultDecoratorClasses=BlueprintGeneratedClass'/MIPChatSystem/DataAsset/BP_RichChatTextBlockHyperlinkDecorator.BP_RichChatTextBlockHyperlinkDecorator_C'
+DefaultDecoratorClasses=BlueprintGeneratedClass'/MIPChatSystem/DataAsset/BP_RichChatTextBlockImageDecorator.BP_RichChatTextBlockImageDecorator_C'
DefaultPlayerInfoProcessorClass=Class'/Script/MIPChatSystem.MIPChatBasePlayerInfoProcessor'
DefaultNameplateWidgetClass=WidgetBlueprintGeneratedClass'/MIPChatSystem/Widgets/W_Nameplate.W_Nameplate_C'
DefaultProfanityWordItemWidgetClass=WidgetBlueprintGeneratedClass'/MIPChatSystem/Widgets/ChatTabSetting/Profanity/W_ProfanityWordItem.W_ProfanityWordItem_C'
DefaultChatThrottlersMap=(((TagName="Chat.Channel.Server"), (CooldownTime=5.000000)))
DefaultChatChatItemLimit=20

Your DefaultGame.ini will look something like this.

  1. Run your project, press Yes when asked Would you like to rebuild them now?

Step 2: Add Player Controller Components
Step 3: Add Game State Components
Step 4: Add Game Mode Components
Step 4: Choose AMIPChatBasePlayerController for your Player Controller Parent Class

And copy the key binding for showing chat and cursor.

Step 5: Choose AMIPChatBaseCharacter for your Character Parent Class

Step 6: Choose AMIPChatBasePlayerState for your PlayerState Parent Class

Step 7: Choose AMIPChatBaseGameMode for your GameMode Parent Class

Step 8: Choose AMIPChatWorldSettings as the world settings

Project Settings > Engine > General Settings

Then have the editor restarted. Fill in player info in the world settings tab for as many player as u want.

đŸ› ī¸
UMIPChatItemLinkerComponent
UMIPHyperLinkTextClickedListenerComponent
UMIPPlayerNameClickedListenerComponent
UMIPChatWidgetCreatorComponent
UMIPUnrealRepSendMessageProcessor
UMIPClientMessageReceiverComponent
UMIPChatCommandListenerComponent
UMIPActionChatCommandHandlerComponent
UMIPEmoticonHandlerComponent
UMIPUnrealRepChatThrottlerComponent
UMIPBaseMessageBroadcasterComponent
UMIPPlayerSessionListenerComponent