Announcement

Collapse
No announcement yet.

Blueprint and map merging

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [FEATURE REQUEST] Blueprint and map merging

    Hello,

    First of all I apologize if this feature has already been implemented. But I could not find anything about it. My request is the ability to merge Blueprints and levels the same way code is merged. This way two or more people could be working on the same maps and blueprints at the same time. I've seen this being a big time loss as there's a big stagnation in progress because for example I'd simply have to wait for my team mate to push his changes and tell him to not make any changes before I can. I do not know if this is possible nor feasible.

    What do you guys think?

    #2
    Originally posted by Mootjuh View Post
    Hello,

    First of all I apologize if this feature has already been implemented. But I could not find anything about it. My request is the ability to merge Blueprints and levels the same way code is merged. This way two or more people could be working on the same maps and blueprints at the same time. I've seen this being a big time loss as there's a big stagnation in progress because for example I'd simply have to wait for my team mate to push his changes and tell him to not make any changes before I can. I do not know if this is possible nor feasible.

    What do you guys think?
    We switched our project to Unity, and this was one of the reasons around 4.8. I don't know if they ever implemented a solution, but one of our request was that blueprint assets became plain text. You CAN however copy and paste your nodes in a text file, just FYI. This isn't a solution, but it is a working work-around. You can also copy that text and paste it in the blueprint editor. Example:

    Copy and paste this into your blueprint with ctrl+v:

    Begin Object Class=K2Node_AddComponent Name="K2Node_AddComponent_62"
    Begin Object Class=EdGraphPin Name="EdGraphPin_18517"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_18518"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_18519"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_18520"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_18521"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_18522"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_18523"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_18524"
    End Object
    Begin Object Name="EdGraphPin_18517"
    PinName="execute"
    PinToolTip="\nExec"
    PinType=(PinCategory="exec")
    End Object
    Begin Object Name="EdGraphPin_18518"
    PinName="then"
    PinToolTip="\nExec"
    Direction=EGPD_Output
    PinType=(PinCategory="exec")
    LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2246.EdGraphPin_21501'
    End Object
    Begin Object Name="EdGraphPin_18519"
    PinName="self"
    PinFriendlyName="Target"
    PinToolTip="Target\nActor Reference"
    PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.Actor')
    End Object
    Begin Object Name="EdGraphPin_18520"
    PinName="TemplateName"
    PinToolTip="Template Name\nName\n\nThe name of the Component Template to use."
    PinType=(PinCategory="name")
    DefaultValue="Camera Component_0"
    AutogeneratedDefaultValue="None"
    bHidden=True
    bNotConnectable=True
    bDefaultValueIsReadOnly=True
    End Object
    Begin Object Name="EdGraphPin_18521"
    PinName="bManualAttachment"
    PinToolTip="Manual Attachment\nBoolean\n\nWhether manual or automatic attachment is to be used"
    PinType=(PinCategory="bool")
    DefaultValue="false"
    AutogeneratedDefaultValue="false"
    End Object
    Begin Object Name="EdGraphPin_18522"
    PinName="RelativeTransform"
    PinToolTip="Relative Transform\nTransform \n\nThe relative transform between the new component and its attach parent (automatic only)"
    PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Transform',bIsConst=True)
    bDefaultValueIsIgnored=True
    End Object
    Begin Object Name="EdGraphPin_18523"
    PinName="ComponentTemplateContext"
    PinToolTip="Component Template Context\nObject Reference\n\nOptional UBlueprintGeneratedClass reference to use to find the template in. If null (or not a BPGC), component is sought in this Actor\'s class"
    PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object',bIsConst=True)
    bHidden=True
    bNotConnectable=True
    End Object
    Begin Object Name="EdGraphPin_18524"
    PinName="ReturnValue"
    PinToolTip="Return Value\nCamera Component Reference"
    Direction=EGPD_Output
    PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.CameraComponent')
    End Object
    TemplateBlueprint="/Game/Actor_Blueprint.Actor_Blueprint"
    FunctionReference=(MemberName="AddComponent",bSelfContext=True)
    Pins(0)=EdGraphPin'EdGraphPin_18517'
    Pins(1)=EdGraphPin'EdGraphPin_18518'
    Pins(2)=EdGraphPin'EdGraphPin_18519'
    Pins(3)=EdGraphPin'EdGraphPin_18520'
    Pins(4)=EdGraphPin'EdGraphPin_18521'
    Pins(5)=EdGraphPin'EdGraphPin_18522'
    Pins(6)=EdGraphPin'EdGraphPin_18523'
    Pins(7)=EdGraphPin'EdGraphPin_18524'
    NodePosX=608
    NodePosY=128
    NodeGuid=059CEF10403D9EFB7797109D719A6FA4
    End Object
    Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_2246"
    Begin Object Class=EdGraphPin Name="EdGraphPin_21501"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21502"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21503"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21504"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21505"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21506"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21507"
    End Object
    Begin Object Name="EdGraphPin_21501"
    PinName="execute"
    PinToolTip="\nExec"
    PinType=(PinCategory="exec")
    LinkedTo(0)=EdGraphPin'K2Node_AddComponent_62.EdGraphPin_18518'
    End Object
    Begin Object Name="EdGraphPin_21502"
    PinName="then"
    PinToolTip="\nExec"
    Direction=EGPD_Output
    PinType=(PinCategory="exec")
    End Object
    Begin Object Name="EdGraphPin_21503"
    PinName="self"
    PinFriendlyName="Target"
    PinToolTip="Target\nGameplay Statics Reference"
    PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.GameplayStatics')
    DefaultObject=Default__GameplayStatics
    bHidden=True
    End Object
    Begin Object Name="EdGraphPin_21504"
    PinName="WorldContextObject"
    PinToolTip="World Context Object\nObject Reference"
    PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object')
    bHidden=True
    End Object
    Begin Object Name="EdGraphPin_21505"
    PinName="Location"
    PinToolTip="Location\nVector \n\nThe location to potentially play a sound at"
    PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
    DefaultValue="0, 0, 0"
    AutogeneratedDefaultValue="0, 0, 0"
    LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2247.EdGraphPin_21512'
    End Object
    Begin Object Name="EdGraphPin_21506"
    PinName="MaximumRange"
    PinToolTip="Maximum Range\nFloat\n\nThe maximum distance away from Location that a listener can be"
    PinType=(PinCategory="float")
    DefaultValue="0.0"
    AutogeneratedDefaultValue="0.0"
    End Object
    Begin Object Name="EdGraphPin_21507"
    PinName="ReturnValue"
    PinToolTip="Return Value\nBoolean"
    Direction=EGPD_Output
    PinType=(PinCategory="bool")
    DefaultValue="false"
    AutogeneratedDefaultValue="false"
    End Object
    FunctionReference=(MemberParent=Class'/Script/Engine.GameplayStatics',MemberName="AreAnyListenersWithinRange")
    Pins(0)=EdGraphPin'EdGraphPin_21501'
    Pins(1)=EdGraphPin'EdGraphPin_21502'
    Pins(2)=EdGraphPin'EdGraphPin_21503'
    Pins(3)=EdGraphPin'EdGraphPin_21504'
    Pins(4)=EdGraphPin'EdGraphPin_21505'
    Pins(5)=EdGraphPin'EdGraphPin_21506'
    Pins(6)=EdGraphPin'EdGraphPin_21507'
    NodePosX=1040
    NodePosY=192
    NodeGuid=E30275D54935F14CD51A91B06404C6D2
    End Object
    Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_2247"
    Begin Object Class=EdGraphPin Name="EdGraphPin_21508"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21509"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21510"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21511"
    End Object
    Begin Object Class=EdGraphPin Name="EdGraphPin_21512"
    End Object
    Begin Object Name="EdGraphPin_21508"
    PinName="self"
    PinFriendlyName="Target"
    PinToolTip="Target\nKismet Math Library Reference"
    PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
    DefaultObject=Default__KismetMathLibrary
    bHidden=True
    End Object
    Begin Object Name="EdGraphPin_21509"
    PinName="X"
    PinToolTip="X\nFloat"
    PinType=(PinCategory="float")
    DefaultValue="0.0"
    AutogeneratedDefaultValue="0.0"
    End Object
    Begin Object Name="EdGraphPin_21510"
    PinName="Y"
    PinToolTip="Y\nFloat"
    PinType=(PinCategory="float")
    DefaultValue="0.0"
    AutogeneratedDefaultValue="0.0"
    End Object
    Begin Object Name="EdGraphPin_21511"
    PinName="Z"
    PinToolTip="Z\nFloat"
    PinType=(PinCategory="float")
    DefaultValue="0.0"
    AutogeneratedDefaultValue="0.0"
    End Object
    Begin Object Name="EdGraphPin_21512"
    PinName="ReturnValue"
    PinToolTip="Return Value\nVector "
    Direction=EGPD_Output
    PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
    AutogeneratedDefaultValue="0, 0, 0"
    LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2246.EdGraphPin_21505'
    End Object
    bIsPureFunc=True
    FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="MakeVector")
    Pins(0)=EdGraphPin'EdGraphPin_21508'
    Pins(1)=EdGraphPin'EdGraphPin_21509'
    Pins(2)=EdGraphPin'EdGraphPin_21510'
    Pins(3)=EdGraphPin'EdGraphPin_21511'
    Pins(4)=EdGraphPin'EdGraphPin_21512'
    NodePosX=1040
    NodePosY=352
    NodeGuid=77416D7B44FE92515D9509B2BEF846D6
    End Object

    Comment


      #3
      Yes, the same works with maps. But I don't think it's possible to copy over functions etc.

      Comment


        #4
        Merge Blueprints is a must!!
        +1

        Comment

        Working...
        X