Jump to content

BFS Banner


Member Since 22 Feb 2007
Offline Last Active Yesterday, 09:37 AM

Topics I've Started

Holiday build available!

21 December 2016 - 04:15 PM

A new build of Ground Branch is now available!


While we have been spending a lot of effort on making sure Ground Branch is stable and performs well before heading into the final push for Early Access, there are a few connectivity issues with this build. We really wanted to get them sorted before putting a new build out, but given family time over Christmas and some personal challenges some of us are currently facing (Please see previous news post), we decided to put one out now instead of holding off any longer. With people being off work or out of school our hope is the added testing will help us work through the problem. We will also be doing a follow up build with more fixes and some new stuff that wasn't quite ready very shortly after the new year.

Build Version 1015

Build 232311


Approximate Update size: 3.2GB

Steam build Id: 1526238

Dedicated Server Steam build Id: 1527124

Known Issues

  • LAN button on server browser page will sometimes get 'checked', thus not showing any internet servers

  • Reporting a bug from inside the game while connected to a server will crash game (ironic isn't it!)

  • Some may not be able to connect to a server on first attempt. Retry to connect or possibly exit game and restart

  • Door destruction has been scaled back due to rework (Can still blow up doors but no debris shown)

  • Radial menu is undergoing some changes so its using placeholder art now

  • Screen effect when sighted in with a magnified optic has been temporarily disabled


Tip to get around online connectivity issues (thanksJeza!)

  • Joining and in progress game (JIP) if the round has started then say if your the 3rd person joining you'll get the 'black screen' then kicked back to ready room, while the other two are on the map. Quick fix is to really just restart the server and make sure all have joined before progressing. Long and short of that is dont start a round until all are ready. As JIP kills its for the last player to join.


Engine Update

We have officially moved Ground Branch to version 4.13.1 version of Unreal Engine.


Check out the full engine release notes here:


We will be utilizing various new features and updates as we go, though we have already seen some performance gains and stability improvements from various engine changes.

General Changes

There has been a lot of work on streamlining and optimizing various systems as well as bug fixing. While that doesn't usually translate to a lot visually in game or fancy screenshots here, you will notice it while playing. Systems that handle game modes, projectiles, item attachment and player controller have been simplified and improved. Overall, online and Terrorist Hunt sessions should be more responsive and stable as a result.

Dropped Items

The beginning stages of dropped items is now in. At the moment you can just drop an equiped weapon and pick one up from the ground, but this system will eventually allow you to exchange ammo and other gear with other players.

Current key setup is use Z to drop currently equipped item then crouch nearby and look at item on ground to highlight and pick it up.



We added in a new Marksman rifle... the SVD!


Some sound work was done for the AK74 and Galil rifles. We are still limping along with our sounds until we have the funds to do things properly. Expect a complete overhaul of the entire sound system post Early Access.

Muzzle flashes have received a bit of work. Some may be a little over the top now, but they will get dialed back as needed as we go.

The pistol grip was reworked a bit to look better. Previously it looked fine in third person but awkward in first person view.


Breaching charges now consist of the charge itself and a detonator. To detonate a placed charge you will now need to equip the detonator as you would any other weapon.


New Map

The rough out for a new map named Alleyway is included for online play and training. Eventually it will also be setup to work with the Terrorist hunt mode as well. The map is in its early stages and most certainly will go through some changes based on feedback and playtesting.


Terrorist Hunt now on Tanker Ship map

You can now play the Terrorist Hunt game mode on both night and day versions of the Tanker Ship...... We will warn you though, its not easy! Its a lot of fun with a group of friends. This is a good testing map for AI because it is almost a worst case scenario for managing AI resources and placement due to the size and design of the map. The fact that it works at this stage is a big achievement and it will go through many revisions as we go.


UI Improvements

There are some new icons being used in the UI. While the overall UI isn't final, it is what we will be entering Early Access with so it's getting a bit more polish.


The Single Player menu is getting streamlined a bit so you will see the latest revision of that. Select a game mode from the dropdown, set a time limit (or other mode specific settings if available) then the map you want to play on.  Be aware, there is a current bug that does not filter out team game modes.


The Terrorist Hunt mode includes various AI setting that allow you to tweak how the perceive things around them. These are there for testing and most likely will not make it to the final game. At least not in that form.


The hit/player damage system is starting to get a bit of work. For now, the blood effect when shot will leave droplets as well as spray onto vertical surfaces.  Lots of work still to do in this area but its better than what was there before!


Lots of work to the AI's perception and analysis of the surrounding areas. The AI in Terrorist Hunt are now a "smarter" and are starting to act more as expected. Still a very long way to go but they are fun to play against even at this stage.



All in all a pretty big update, though mostly "under the hood". Thanks to all for the continued support and we hope you enjoy messing around with the new build and have a Merry Christmas and a Happy Holiday!



* FIXED flickering outline when trying to pickup dropped firearm
* FIXED bad rotations on dropped firearms
* FIXED window covers in Small Town being pentratable
* FIXED firearm being put away on spawning
* FIXED missing outline on maps without post process volume
* FIXED being locked into non-engaged position
* FIXED - wrong texture on SVD rail adapter
* FIXED bug in GBRailAttachment::AutoAttach() that incorrectly attached rail returning incorrect results
* FIXED optical sight camera distance calculation
* FIXED camera location based on optical sight camera distance
* FIXED missing icons in radial menu entries
* FIXED bug in GBBulletMovementComponent when simulated trajectory
* FIXED AK74 end firing loop attenuation
* FIXED - Attenuation on AK firing sounds so AI can properly hear them
* FIXED inability to open flipped Door_Swinging
* FIXED bad index check in UTacticalPathFollowingComponent::SetMoveSegment()
* FIXED GetGameModeList() with packaged version of game.
* FIXED GetItemsBy<XXX> with packaged version of game.
* FIXED SurfaceLinks with packaged version of game.
* FIXED BP_MissionTimer in ReadyRoom_BFS (dupicated it as BP_MissionClock, replace references, pissed off original)
* FIXED Killhouse_Timerun_Day/Night
* used new WaitForGameState() BP function to fix level BP
* fixed white board fonts
* fixed operator table
* FIXED missing NVG prompt in SH_TargetTest_Night (removed it)
* FIXED preview mesh warnings reported during packaging
* FIXED GA_Sprint failing to end on server when told to by client.
* FIXED possible nullptr in AGBItem::OnBeingEquipped()
* FIXED clothing not being set as an 'appearance' item
* FIXED clothing skins not being replicated via kit info
* FIXED alpha pants & alpha shirt crash duing on LoadAsset call (I hope)
* FIXED dropped items physics being based of previous attach location
* FIXED glove arms using wrong material index
* FIXED arms skin colour not matching head when gloves/head change
* FIXED loading screen displaying map information when going to menu
* FIXED log spam from WBP_SoloTerroristHunt_Settings
* FIXED & improved BP_Head_Master
* FIXED possible none in round state on dedicated server
* FIXED WBP_ServerGameMode_DropDown
* FIXED possible nullptr in AITacticalPerceptionComponent
* FIXED SmallTown_Day player starts
* FIXED BP_Clothing_Master using AttachToComponent() instead of AttachItemTo().
* FIXED BP_TerroristHunt using AISpawnManager as AIDirector
* FIXED possible none in BP_Head_Master
* FIXED icon reference in GBLadderComponent
* FIXED possible null with GBGrenade
* FIXED possible none with BP_TextRenderActor on DedicatedServer
* FIXED being able to place ACOG's and other sights on firearm or adapter rails
* FIXED being able to have multiple sights of same class on one firearm
* FIXED dropped items not destroying associated items
* FIXED not being able to save as or move existing maps due to level summary
* FIXED Bad lighting on outside of TankerShip main structure
* FIXED popping in of LOD on small objects at front of TankerShip
* FIXED AGBFirearm::GetEmptySlingPoint() returning 'none' when it shouldn't.
* FIXED outline of dropped firearms not being displayed.
* FIXED firearm starting attached oddly to back in ready room
* FIXED bad collision on Elephant Grass and one of the rock pile meshes in Depot
* FIXED looping pasue in ready room ambient sound file
* FIXED hearing ready room ambient sound in maps
* FIXED deprecated functions in menu managers.
* FIXED missing includes in Blueprint function libraries.
* FIXED bad collapsed nodes in M16 Blueprint
* FIXED Arm patches have bad UV and odd shading on both Alpha/Bravo torsos
* FIXED standalone games with teams not initialising player kits for teams.
* FIXED BP_WristDevice being added to saved kits (its a default item!).
* FIXED kits being saved via operator menu without a file name.
* FIXED M16 not releasing bolt.
* FIXED GBGameMode::InitNewPlayer() not being called.
* FIXED LightMapUEr Plugin causing standalone game to crash.
* FIXED Trigger_PrepArea detection of other triggers it encompasses
* FIXED Trigger_PrepArea not adding world prompts in non-round based games.
* FIXED Trigger_Ready not working in non-round base games.
* FIXED need for round manager to dicate when play area is open.
* FIXED ReadyRoom team trigger now set correctly
* FIXED text chat auto-submitting on losing focus
* FIXED inventory not being destroyed when character is when ragdoll is server side.
* FIXED potential none in Mask_Balaclava.
* FIXED camera flipping 180 on death
* FIXED being able to push/move other characters
* FIXED Pothole area in SmallTown map along building wall
* FIXED Collision on cinderblock wall that wouldn't let you hop through broken area
* FIXED Missing PhysicalMaterial on train car materials. Should get proper hit effect now
* FIXED Bad collision on ivy mesh used in some Depot compount wall corners
* FIXED Getting stuck between bush and tree on SmallTown map
* FIXED waiting for input on initial loading screen
* FIXED reload anim notifiers not taking producing sounds & curve based animation on non-owning clients
* FIXED head collision geometry in Team_Physics
* FIXED jitteriness of dead bodies by modifying Team_Physic bodies & settings.
* FIXED Missing collision on wood fence section (Mainly found in Depot)
* FIXED possible nullptr in GetEyeBias()
* FIXED offset rail with sight usage
* FIXED ladder component not clearing correctly
* FIXED attentuation on Galil & SVD firing sounds
* FIXED TankerShip_Night interior trigger setting that messed up AI
* FIXED Being able to see back into ReadyRoom once walked through door to enter map
* FIXED Untextured pole at front of TankerShip (removed it)
* FIXED Extra door frames on TankerShip bridge doors (removed)
* FIXED projectile ignore bullet warning triggers
* FIXED Black areas on Killhouse ground
* FIXED incorrect map name ni BP_ReadyRoom_Streamer for non-team maps.
* FIXED Play drop down position in WBP_FrontEndMenuManager
* FIXED missing Operator bench in Aircraft Takedown maps
* FIXED Incorrect model name for AK74M in UI
* FIXED M16 not having 3rnd burst
* FIXED misaligned bottom attachment rail setup
* FIXED chat message not showing up
* FIXED chat message text wrapping too much
* FIXED black terrain on Killhouse Night
* FIXED missing map images for Alleyway, Killhouse Night, Shootrange Night and Depot
* FIXED bad framerate in SmallTown map
* FIXED missing GetScreenResolution node reference in WBP_PostLoadingScreen
* FIXED input still being enable on ladder after auto-mounting & climbing ladder
* FIXED dirty quality levels not being detected in WBP_Settings_Video
* FIXED WBP_CenterMessage not fading out properly.
* FIXED quit drop down options
* FIXED spawning in play area on intial player login
* FIXED WBP_PreLoadingScreen
* FIXED GBReadyRoomStreamer streaming in ready room even if one isn't required.
* FIXED possible None in CoverUpdateServer Blueprint
* FIXED possible nullptr in SquadMemberComponent.
* FIXED possible nullptrs in GBAIController.
* FIXED bad transform when packaging GBReadyRoomStreamer by created a dummy scene component to use a RootComponent.
* FIXED IR Strobe & PEQ Designator icon not showing up in radial menu
* FIXED call to deprecated RemovePlayerStarts BP_TerroristHunt & AITestGameMode

General Changes


* Optimization to Shooting Range maps
* Moved trees/bushes into foliage system
* Combined meshes for fewer draw calls
* updated online plugin VOIP interfaces to fix bugs & add ModifyVoiceAudioComponent() in player controller.
* updated GBGameMode & GBGameSession to fix possible issues with only post-UE413 GameMode::PreLogin() being called.
See https://forums.unrea...ut-isn-t-called
* disabled net.IgnorePackageMismatch cvar hack due to UE413 change
* added duration check to BannedPlayerList login check.
* new players start wait in spectator mode until player data (kits etc) is up to date, then spawn in.
* changed radio start/end squelchs
* Setup Mk48 to have proper shell ejections
* Added bone and AnimBP control for dust cover manipulation
* Set ejection emitter to have shell casings come out bottom opening and belt clips from the topejection port
* Added in movable bolt for when dust cover is open and weapon is firing
* Renamed old "bolt" bone control to charging handle as that is more accurate
* updated GBItem class
* created ChangeOwnerOnlyRelevancy() to set bOnlyRelevantToOwner and call appropriate network related function
* created CloseNonOwnerChannels() to use to remove item from network for all non-owners when bOnlyRelevantToOwner is set to true.
* updated GBPouch class to call ChangeOwnerOnlyRelevancy(true) when adding a child item
* updated GBMagazine class
* changed Count to replicate for everyone (not just owners)
* added OnCountUpdatedEvent() that is called by AdjustCount() or when Count is replicated.
* simplified & improved GBDroppedItem class
* simplified & improved GBItemProjectile class
* updated BaseFirearm Blueprint
* created copies of game mode, state, systems etc from /Content/Bluerpints/* in /Content/Gameplay/*
* moved base character, player controller etc from /Content/Bluerpints/* to /Content/Player/*
* added ActiveClassRedirects to DefaultEngine.ini to automatically replace Blueprints that have changed locations upon loading map.
* removed fixed/old/unreferenced Blueprints.
* updated Killhouse_Timerun_X to replace old game mode reference
* updated Exampl_Deathmatch_Map to replace old game mode reference
* updated ini & uproject file to enable UE413 version of OnlineSteamSubSystem
* corrected minor issue with GBBasePlayerController::GetApperance/LoadoutString() for clients.
* ENGINE CHANGE * supressed error relating to issue UE-26025
( https://issues.unrea.../issue/UE-26025 )
* kits are now saved to & loaded from external files in /Users//Documents/GroundBranch/*
* created GBKitFunctionLibrary::PrettifyKitString() to convert based or condensed kit string to human readable version.
* updated Operator UI to ensure kits are saved in a human readable version.
* created TeamDeathmatch game mode.
* corrected minor logging issue in GBGameMode
* changed game version to 1015
* added time before respawn to Respawn button in DefaultDeathOptions widget.
* added logging to detect when character dies immediately after spawning due to falling damage.
* hacked in *temporary* fix to prevent character dying immediately after spawning due to falling damage.
* added map & game mode to default bug report info.
* began first pass of synchronising server-to-client ragdolls for dragging/looting
* is setup to allow walking on bodies, but it had issues online, so I disasbled it (for now?)
* began first pass of active ragdoll based on Blueprint of same name
* enabled UE4's GameplayAbilitySystem
* created GBAbilitySystemFunctionLibrary
* added AbilitySystemComponent to GBCharacter.
* updated GBFirearm to replace C++ related to reload with one based on AbilitySystem.
* updated all firearm related Blueprints to use a reload based on AbilitySystem.
* added missing DefaultGameplayTags.ini
* got reload to predict for local client & work on server.
* not seen by other clients (yet)
* ENGINE CHANGE * lots of additional logging in AbilitySystemComponent_Abilities.cpp.
* learnt how to get montage to play for local client, server & non-local clients.
* required some C++ changes
* updated all affected Blueprints.
* greatly improved synchonised bodies.
* added prediction to body instance postiions sent from server.
* moved prediction calc used for bodies to GetPredictionTime() in GBGameplayStatics Blueprint.
* Server to client trip - which is equal to ping in seconds divided by 2.
* moved prediction calc to GBPlayerController (though kept GBGameplayStatics function too).
* Discovered UT4 has its prediction function there for use on server & client, which we need in future, so...
* ENGINE UPDATE * Change particle collision events to use the actual hit result instead of just certain bits of info from it.
* created GBSurfaceTypeImpactInterface to take hit result from particle collision send to game mid-spawn for use after spawn
* updated P_Blood_Small to spawn BloodImpactDecal for every drop of blood (coz its fun!)
* Adjusted collison on dirt road mesh to be closer to mesh shape
* TankerShip work
* Added in some covered conex containers in the front area to provide some more solid cover
* Made soem LOD sull distance adjustments
* Changed scene blur when sengaged with a magnified optic to a vignette/darkening effect
* Testing to see if its a beeter solution than the blur
* Added in screen directional indicator PostProcess material
* Basic implimentation for testing
* ScalarParameter 'MaskRotation' controls where indicator shows on screen
* 0-1 starting on top and going counter clockwise. 0.25 is left, 0,5 is bottom and 0.75 is right
* Made ACOG 6x lens bigger so its more useful in game
* Start of new map named StorageFacility
* Firing sounds reworked for AK74 and Galil
* Cleaned up some collision on TankerShip assets
* Tagged some meshes in TankerShip_Day to not be included in navmesh calculation
* removed WhizzCrack checks from GBBulletMovementComponent
* updated GBCharacter class
* added CreateBulletWarningTrigger() that adds sphere collision that generates overlap events when overlapping a projectile.
* added WhizzCrack variables from GBBulletMovementComponent
* updated GBAIController class
* added BulletWarnEndOverlap()
* added call to GBCharacter->CreateBulletWarningTrigger() when possessing pawn which hooks up to it.
* cleared on death
* ignores own or friendly bullets
* determines controller that owns bullet.
* updated all affected functions in GBAIController, SquadActorCompnent etc to take Threat, ThreatLocation & ThreatController.
* changed ITacticalInterface Get functions to be const
* add quick line trace by type to bullet warn check for AI to ensure nothing prevents them hearing the bullet whizz by.
* use closes point on line segment instead of bullet location
* added bullet warning for GBPlayerController
* uses bindable OnPlayerBulletWarn delegate.
* created mono versions of bullet chizz sounds
* updated bullet crack & whiz sound cues to add some randomness to their pitch & volume
* updated BasePlayerController to hook up OnPlayerBulletWarn event.
* updated GBCharacter to destroy bullet warn trigger on death to remove unnecessary overlap events etc.
* Adjusted rifle TacLight to have a larger falloff for more illumination
* Added in new SVD model
* A few new test muzzle flashes... Stop yapping Phil!
* cleaned up firearm related assets based on Allars ue4-style-guide
* See https://github.com/A...ue4-style-guide
* moved switch items logic from GBCharacter to GA_SwitchItems ability Blueprint.
* required updating a whole bunch of C++ in both multiple classes
* created GBItemMontage & GBItemMontageManager class
* Temporary-permanent ( :P ) solution to find correct montage to use when switching items without hardcoding a list.
* uses source socket names (where item to equip is attached) & target socket names (where equipped item is to be put away too) to determine correct montage to use.
* unarmed / hands = 'none' as socket name.
* SVD updates
* Added in working AnimBP
* Added in some basic sounds
* Created rail adapter setup
* Properly configured to use correct magazine
* Changed out muzzle flashes on weapons to new "flashy" versions so old man Phil can see his children of death in the bushes!

* Added in a couple of older vehicle models as placeholders to use in maps
* First pass blockout of new map called Alleyway
* Cleaned up some collision on TankerShip and Depot maps
* Remade some old old meshes used in Depot
* moved SVD assets to Inventory/Firearms/Markesmen/SVD
* updated GBDroppedItem class to add MakeInteractiveEvent().
* created BP_DroppedFirearm Blueprint
* created GA_PickupItem ability
* created WB_PickupFirearm widget
* created Test_Pickup map
* updated BP_DroppedFirearm to use main hand action instead of offhand.
* updated GA_SwitchItems to add event dispatchers when unequip or equip montages finish.
* updated GA_PickItem to auto-unquip hands via GA_SwitchItems call.
* Revised pistol grip
* Cleaned up vertex weighting on hands/gloves
* Adjusted pistol animations to look better in first person view
* Made adjustments to pistol meshes and BP's to compensate for changes so pisto mesh lines up properly with new hand/animation adjustments
** Hack until working IK solution is usable so we can adjust attachment socket instead
* reverted all SceneCompoent class changes bar crash fix.
* updated GBItem class
* added AttachItemTo() & DetachItemFrom() functions to replace assignable delegate that was added to SceneComponent class.
* updated all affected C++ & Blueprints.
* ENGINE CHANGES * Small fixes/optimisations
* Moves misc smaller maps to new directory.
* Updated GBWorldSettings::PreSave() to copy existing level summary variables from existing level summary (if any) before saving.
* moved target test game mode maps & screen shots to new location
* created default map template specifically for GB
* created GB game mode map template with ready room & team spawns already included.
* created new Example_Map
* created basic of throw item gameplay ability
* changed BP_BreachingCharge from Equipment to Gadget.
* hooked up the gadget radial menu.
* improved inventory list handling & iteration
* added BP_Detonator
* updated .uproject file with GroundBranchEditor added
* created BPI_Breach
* updated Door_Swinging to implement BPI_Breach
* includes CanBreach() & AttachCharge() functions.
* updated BP_BreachingCharge to trace for actor using BPI_Breach
* updated BP_Detonator to add assignal OnUseDetonator for BP_BreachingCharge
* updated BP_DoorChunks
* Created sound sub map and fixed up ambient sounds in SmallTown
* TankerShip updates
* Fixed up audio references due to move
* Added sound sub map
* Removed reference to old door type
* Added stacked containers on deck in night version
* Moved NatureArea map to new location
* Added in streaming RR to NatureArea maps
* Created sound sub map for NatureArea maps
* Moved Depot map to new location
* Added in streaming RR to Depot maps
* Created sound sub map for Depot maps
* Adjust muzzleflash materials to be lit by map lighting and not fully emmissive
* updated UGBCharacterMovement::GerPredictionData_Client()
* merged SmallTown_DayAITest into SmallTown_Day
* updated GBGameInstance::ShowLoadingScreen() to pre-load map screenshots instead of sending string references via CreateLoadingScreenWidget event.
* updated loading screen and related widgets
* renamed, cleaned up etc.
* clean up of old loading screen assets
* updated GBFunctionLibrary
* improved LoadAssetFromPath()
* added LoadAssetFromStringAssetReference()
* improved GetObjectPath()
* cleaned out old/bad door assets
* removed old test maps
* updated GetChildrenOfClass() to added option to return only immedated children.
* removed GBCursor ref from DefaultEngine.ini
* updated GBAISpawnManager to change LogAIDirector to LogAISpawner
* updated GBCharacter class
* cleaned out old code related to pickup, switchitems & torso actions in general
* added support for sprint ability
* removed old sprint handling
* updated UGBAbilitySystemFunctionLibrary
* added IsActive()
* added CancelAbilitiesByTags_Actor/Component
* cleaned up older functions
* created UGBUIFunctionLibrary::InsertChildAt()
* Temporarily disabled AGBAIController::CurrentlyReloading()
* updated AGBPlayerController class
* updated SetSprinting()
* changed the way team killer info is handled
* updated UI assets
* FIXED loading screen map screenshots
* FIXED issues due to Blueprint & Blueprint Macro Library shenanigans
* removed old/bad assets
* updated to new naming conventions
* replaced many temp icons with proper ones.
* changed Solo to Single-Player
* FIXED map screenshots in Single-Player menus
* split front end & in-game menus into own directories
* simplfied WBP_RadialMenu
* updated WBP_TeamKillForgive
* moved to WBP_DeathOverlay
* includes button to forgive.
* changed MapKit references/parents
* created WBP_RoundEnded based on old RoundEnded game message wdiget
* created WBP_RoundStage
* combines older RoundStateManager, RoundState & RoundTime widgets into one
* forms the message over a couple of seconds with audible text blips to get players attention
* fades away during Kit Up & Round In Progress
* updated other BP's due to UI reference changes
* updated Gameplay Ability Blueprints
* added Cancel tags to ensure different GA's play nicely together..
i.e. Switching items in the middle of reloading now handled more gracefully.
* ensure EndAbility was called.
* created GA_Sprint
* will cancel other abilities on use
* will in turn be cancelled if other abilities are used.
* updated GA_Reload_Master to prevent reload ability if already reloading.
* updated BP_M1014 to cancel reload upon firing.
* updated GA_M1014_Reload to drop held sheld if ability ends with one in hand
* udpated FrontEndMap due to game mode changes
* updated SH_TargetTest_Day/Night due to UI reference changes
* updated GBCharacter class
* separated body part MIDs
* removed old GetItemsByKitRoot()
* updated clothing Blueprints
* removed need for BP_Clothing_Master
* switched from direct mesh reference to asset id
* switched to using separate body part MID functions
* improved BP_Mask_Balaclava
* set WBP_InGameMenuManager default screen to settings.
* cleaned up WBP_ServerBrowser slightly
* updated UGBUIFunctionLibrary::GetMapList() to get map list from correct location on disk
* FIXME - update to support additional locations for mod support later!
* updated GBLevelSummary to include binding to asset data tags in class
* cleaned up GroundBranch class
* included GBGameInstance missing from last submit (loading screen to menu fix)
* created new functions & a struct in GBFunctionLibrary to replicate streaming levels to client
* FLevelStreamInstanceInfo holds all relevant info from ULevelStreamingKismet instance.
* GetLevelInstanceInfo() will take a ULevelStreamingKismet & spit out a filled in FLevelStreamInstanceInfo.
* AddToStreamingLevels() takes a FLevelStreamInstanceInfo & creates a new ULevelStreamingKismet based on the info & feeds that into the worlds streaming levels.
* updated BP_ReadyRoom_Streamer to use new streaming level functions
* Streams in on servers normally, then replicates the result via a FLevelStreamInstanceInfo.
* On clients, waits until it gets a filled in FLevelStreamInstanceInfo, then calls AddToStreamingLevels()
* updated BP_PlayArea_Door
* stopped it from loading on client separately to server
FIXME - this an issue with the way it was streamed in on client?
* updated AGBGameMode::SendToReadyRoom() to fall back to normal player start if it fails to find a ready room start.
* removed world clock from ReadyRoom_BFS
* added random patch selection for randomly setup shirt
* updated GBKitFunctionLibrary
* renamed ApplyString to Apply()
* added bReplicate option to Apply functions.
* will call FindOrCreate and assign result to character.
* updated affected Blueprints & C++
* updated GBKitInfo to call ApplyKitString() instead of using Apply() to avoid possible circular usage.
* removed references too and deleted AN_Equipped
* updated BP_BloodImpact to add ResetInterface
* updated BP_DroppedCosmetic to ensure no collision between it and pawn.
* removed AN_ClearArmedIfNoPending
* removed old foot step assets & Blueprints.
* updated foot step animation notifier.
* updated GBGameState & GBRoundState to ensure GBGameState instance has a reference to round state.
* created GBGameMode::UsesRounds()
* created GBFunctionLibrary::WaitForGameState()
* replaces need for BP macros combinging Delay nodes/timers
* created GBFunctionLibrary::WaitForRoundState()
* replaces need for BP macros combinging Delay nodes/timers
* renamed BP_TeamTimerun to BP_Timerun
* updated BP_Trigger_ReadyRoom_Master & child BP's
* stops doubling up on create/remove widget calls
* removes need to use GetAllActorsOfClass() several times each enter/exit
* added timer to constructor to call special ClientBegingPlay event
BeginPlay doesn't want to be called on clients for some reason...
* moved input blocking from BP_Trigger_Ready to WBP_Transition_FadeOut
* replaced Get Round State BP macro usage with new C++ version
* replaced several instances of BP macro/event loop that waits for game state/round with C++ version.
* improved Apperance/Loadout random generation
* updated GBAISpawnPoint/Volume to prevent creating random kits without a spawn manager present.
* undeprecated BP_SoloTimerun
* updated BuildNumber to 232311
* updated DefaultEngine.ini to remove old ActiveClassRedirects
* updated DefaultGame.ini to updated DirectoriesToAlwaysCook
* removed debug message from GBCharacter::SwitchItems()
* updated GBAIController::BulletWarnEndOverlap()
* added bullet instigator to ignore list
* cleaned up function slightly.
* Went through all materials and made sure they were using a PhysicalMaterial (Speedtrees excluded)
* Added a 'Default' PhysicalMaterial that all base master materials use
* Uses same settings as concrete
* Nothing in the game should be without at least that default PhysMat
* updated bullet debug drawing - better entry & exit indicators
* Fixed some missing PhysicalMaterial settings on a few materials and Landscape LayerInfo's
* Added some water to SmallTown
* Give something interesting to the center area of the map
* Covers up a bug with lingering water volume references that we can't easily get rid of :)
* created new BP_Door_Swinging based of Door_Swinging
* created game ability, widget etc to go with it
* added interactive trace to GBPlayerController
* Got sick of using widgets and other tricks/hacks, so switched to an trace methond updated.
* Traces for any component with Interactive collision - solid or not.
* Verifies trace by tracing against visible components after that.
* The component does not have to be solid or visible, thus giving you the option of add a
component around the intended target that is much larger and easier to trace against.
* forced outline material to be added to Global PostProcessing volume via C++ in GBGameState.
* udpated BP_Door_Swinging
* replaced single widget with a prompt & using widget
* ensured it hides outline during fluid use, but shows it again when done if applicable.
* Added in icons for Breaching charge and detonator
* smoothed out death camera view
* created WBP_Crosshair (not what you think)
* updated BP_Firearm_Master to add WBP_Crosshair if in over the shoulder view.
* changed item icons to asset pointers.
* changed item skin icons & materials to asset pointers.
* updated all item Blueprints to work with asset pointers instead of direct pointers.
* created functions for loading assets from a single asset manager in GBGameInstance
* updated AGBItem::UpdateSkin_Implementation() to use UGBGameInstance::LoadAsset()
* updated operators menus to force loading of skin assets via regular LoadAsset node.
GBGameInstance::LoadAsset() will fail for any item spawned inside a Viewport widget. since there is no game instance.
* created /Core/Engine/T_Missing texture to replace /UI/Common/T_Missing_Thumbnail
* updated GBItem class & FItemSkin struct to ensure their asset pointers default to T_Missing and cannot be cleared.
* removed deprecated functions from UGBKitFunctionLibrary.
* removed redundant functions from UGBKitFunctionLibrary & updated affected Blueprints.
* Adjusted SVD to sit in hand better
* Galil changes
* Added in missing icon
* Changed peep sght to be a bit more usable
* updated icons for several misc widgets
* updated GBRailAttachment::ValidMountPoints() to allow sights to fit further back on firearms
* adjusted M233 & Mk4 mount spacings to allow them to fit on SVD
* Small vertical adjustment to SVD rail adapter position to line up with fixes in previous checkin
* Added icon for SVD rail adapter
* removed old/deprecated functions
* cleaned up and improved GBPlayerCameraManager
* separated view modes into their own functions
* added camera booms to all non-first person views to help smooth them out
* created BlueprintLoadAssetAsync()
* uses the asset streamer on the GBGameInstance.
* uses a bindable callback event instead of latent action with continuation node
(fire and forget or fire & take result and use it)
* updated operator UI to use BlueprintLoadAssetAsync() instead of native LoadAsset.
* should prevent issues updating the character used in the menu out of order,
which was causing issues.
NOTE - seems to be an issue with platforms not loading skin on first try, while headgear etc appears to be fine.
Most like an issue with the platforms item BP's and not the widget BP.
* updated BP_ReadyRoom_Streamer to support loading different maps based on GameMode class or type.
* updated inventory BP's that were using LoadAsset to use GB's LoadAssetAsync instead.
* optmised BP_Door_Swinging
* only ticks as required.
* pre-cached additional variables.
* simplified math
* updated BP_DroppedFirearm
* now longer uses trigger
* properly removes outline from firearm when it is picked up.
* added DropEquipped binding to DefaultInput.ini

* tracked down issue that was causing editor to get stuck loading at 72%
* deleted WBP_'s causing or affected by issue.
* removed need for GameType enumurator
* updated affected Blueprints & C++.
* created new WBP_SinglePlayer screen (programmer art - functional, not pretty).
* updated ServerBrowser to be its own screen (not content for a manager)
* recreated Player Drop down and hooked it up to new Single Player & Server Browser screens.
* small fix to trigger prep area caused by stuck @ 72% fix
* updated BP_ImpromptuLadder_BFS
* replaced InteractComponent with GamePlayAbility.
* created WBP_Ladder_Prompt & WBP_Ladder_Using
* added trigger to auto-mount character at top of ladder if:
- moving backwards
- moving forwards while looking down a lot
* updated BP_Door_Swinging
* replaced Spheral triggers with Box based ones to make it easier to grab handles.
* Added darkening option to vertblend master material using Green channel
* Vert Painted some darkening on walls around water in SmallTown
* Minor adjustment to scope darken PP effect to assure centering on screen in all resolutions
* Small adjustment to scalability settings to make sure players see MeshDistanceField shadows on Medium and High shadow detail settings (was previously only Epic setting)
* ENGINE CHANGE - updated ParticleComponent class to report index of missing emitter
* changed some trigger overlaps to default to Volume collision type in an attempt to fix AI visibility issues
* added ShowTerroristCount option to BP_TerroristHunt game mode
* 0/False = hide enemies remaining message.
* 1/True = show enemies remaining message
* updated code related to Bots to get them functional again
* created GBGameState::GetTeamAttitude() implementable Blueprint function to allow
a game mode to control a teams attitude to another team
* corrected GameModeTags in game mode Blueprints & maps.
* updated WBP_SinglePlayer to only display maps based on primary game mode tag.

* Merged a few meshes in SmallTown as a DrawCall optimization
* Added a few detail meshes in SmallTown
* Cleaned up a few missing material redirects in a marketplace content rock pack
* minor optimsation to AGBAIController::BulletWarnEndOverlap() to remove unnessary secondary debug trace
* minor optimisation to AGBBulletProjectile::SpawnBullet() to ensure bullets ignore bullet warning triggers of owning character
* updated AGBAIController::BulletWarnEndOverlap()
* FIXED occlusion checking against bullet passby location
* added check to skip occlusion checking for bullets passing by in quick succession

* resaved mat_rock_default_MASTER to fix log spam about it.
* updated WBP_Settings_Video to use native implmenetations of Get/SetXQualityLevel etc.
* updated BP_Deathmatch_GameState to set ManualCleanup to false.
* Removing PEQ2A
* Was and old model and not really necessary anymore with the PEQ15
* replaced all ValidIndex node calls with native IsValidIndex nodes.
* updated GBGameUsetSettings audio volume handling.
* works with the SoundMixClassOverride system
* no longer requires hard coded entries
* removed UGBUserSettingsFunctionLibrary & UGBAudioSettings classes.
* added auto-mounting to bottom of ladder for consistencies sake
* Changed collision from complex to simple on very detailed cliff mesh
* Made whiteboard in Killhouse night none emissive so it lights properly
* Removed prototype drone blueprint from SmallTown map because it was causing framerate issues
* Removed water from SmallTown map
* Made smaller standing water/puddle behind end building instead
* updated loading screen
* If not going to the menu, the loading screen will be copied from the movie player to the viewport.
* Once the player is in-game properly, they can manually remove the loading screen by pressing a key.
* Loading screen with fade out nicely.
* renamed WBP_Transition_FadeOut to WBP_Transition
* updated WBP_Transition to support fading in/out.
* added events to GBPlayerController when player manually spectates, restarts or goes to ready room
* updated BP_PlayerController to bind these new events to create WBP_Transition widgets.
* converted core of BP_ReadyRoom_Streamer to C++ class
* reparent BP_ReadyRoom_Streamer when done.
* removed WBP_PostLoadingScreen
* changed loading screen shots from texture references to texture asset references to prevent hitch.
* moved ServerName & ServerMOTD to GBServerManagerment class
* setting name & MOTD now done in DefaultServerManagerment.ini
* increased size of ServerMOTD from 128 to 512
* TEST - MAY CHANGE! - splits the larger string up, assigns it to multiple Steam gametags, rejoins it at other end.
* SmallTown fixes
* Removed bad water plane that had no mesh that was causing water effects in odd places of the map
* Fixed collision on wood walkway to properly register traces

* created GBPlayerStartManager class
* new class to manage and control player starts
* removes need to call GetAllActorsOfClass() every time a player spawns.
* greatly reduces need for spawn collision checks by only updating as required & caching the results.
* updated GBGameMode, GBReadyRoomStart & GBPlayerStart to work with GBPlayerStartManager
* created BP_TeamElimination_PlayerStartManager
* removed BP_PlayerStartGroupManager
* removed deprecated global player start functions.
* created BP_Deathmatch_PlayerStartManager
* added additional player starts to SmallTown_Day for Team Elimination & Deathmatch
* updated FTViewTarget struct to create public GetPlayerState()
* FIXED view next/prev players in spectator mode by updating PlayerController::GetNextViewablePlayer()
* updated Steam plugin to set game name & enable number of connections for Steam server browswer.
* changed radial menu entry background to non-texture base cicrcular material
* adjust radius of radial menu
* created BP_TerroristHunt_PlayerStartManager
* FIXED nullptr caused by GBMenuGameMode
* created GBCharacterVoice class (Not available in game yet)
* holds list of sound cues matched to keys with a display name
* allows playing correct sound between different characters/voice packs
* updated GBCharacter & GBPlayerController to implement
* local voice message is replicated by character
* radio voice message is replciated via player controller


General Changes

* Added suppression to AI tactical perception. Suppressed AI with threat set but no line of sight return suppressing fire in the general area. Added some AI test maps to /developers area. Added some randomization to return fire aim location.
* First part of rigging tankership for AI solo TH use.
* Added suppression and suppression handling to AI
* Fixed cover update service such that only one cover is allowed to be reserved per agent
* Added AI test map for testing suppression etc
* Fixed a minor bug in visual logger (requires engine rebuild)
* Started Solo TH menu for selecting squad
* Added some squad incoming fire suppression support
* Tweaked some priorities on spawners.. still need to do a usability pass on the spawn system as this shows it needs some attention.
* fixed issue with threat not being the pawn for the reaction to incoming fire.
* fixed recast navmesh generation setting causing AI to get snagged on a pipe
* switched something on
* did something so I could test AI using ladders..
* added new GBAISpawnManager to free up GBAIDirector for director stuff later. Which means game modes have changed a bit.
* fix for AI Incoming Fire perception issue caused by move to alternative method. Now AI checks from correct origin for line of sight for incoming fire. TODO: Make the check also scale the incoming fire suppression amount based on distance
* added male hostage (dumb as a brick version), but at least he works.
* added simple service to check LOS to suppress incoming fire location
* Updated debug info for incoming fire to only display if aidebug and in editor.
* changed collision settings on trigger volumes, so they don't block AI sight sense
* Updated line of sight checking for incoming fire, still got to balance the various situations better. But this should mean that we get some return fire and some attacking even during suppression.
* Fixed bug in AISpawnManager blueprint where it wasn't calling SetInitialBehavior method (probably due to blueprint getting disconnected during change of C++ class)

Read this story on GroundBranch.com

Ladybug kisses

18 December 2016 - 11:51 PM

G'day guys.

I've been a little quiet of late due to a close personal loss.
My sister took her own life on Wednesday the 14th and as such, I've been helping out the family she left behind as much as possible
To that end, one of her friends setup a page to help out with funeral costs etc.
I did not wish to depress people, nor do I wish to exploit peoples feelings, but I do want to help out her family, thus I'm sharing the following link:
Posted Image
Ladybug kisses in memory of Ffyona.

Even if all you can do is share or comment, please do so.
Any show of support is welcome and greatly appreciated.

That's it.


Read this story on GroundBranch.com

New Ground Branch build is on ready!

18 September 2016 - 09:20 PM

The main push for this build has been stability, performance and overall user experience improvements. We have been doing a LOT of testing and enjoying every minute of it!


Build Version 1014

Build 150917


Approximate Update size: 2.5GB

Steam build Id: 1341829

Known Issues

  • Crash when taking screenshot in BugTracker during online session

  • Breaching charges are currently not working due to door system changes

  • May get a Network Timeout error the first time you try to connect to a server the first time you load the new build


Standalone Dedicated Server

A new Standalone Dedicated Server for Windows is ready and available as a Steam 'Tool'. For now, we need to distribute license keys since Ground Branch is not public. The Dedicated Server is free and you do not need to own Ground Branch to use it. For now during testing, we are limiting the keys to 225 in total and you can get one here:


We plan to offer a linux version as well at some point as well.


Player kits being visible in the Ready Room

You can now see a player's currently selected kit items and uniform selection in the ready rooms. This helps players see what other teammates are taking into a mission.


Grenades, Ladders and Doors oh my

Grenades now work properly in online sessions. Still need to tweak the damage model and there is some animation work to be done, but everything is now functional. Try out the frags, smokes and flashbangs!

Ladders and doors are still far from being complete, but they are now more user friendly and intuitive. Walk up to a ladder and hit R-Mouse button to 'mount' the ladder then use forward/backward controls to move up and down the ladder. 20160918213149_1

Doors have been updated to allow for both a quick open/close option and a more fluid, controlled method of entry. The latter method is controlled by hold the door handle and moving with the door to open or close it slowly. While slower, it is quieter and allows you to slowly peek in through the gap while keeping your weapon on target.


Player postures and weapon handling smoother (offset rail now works properly!)

Lots of tweaking has been done to the player movement animations and blending to make general movement smoother and more fluid.Animation work will be never ending throughout the Early Access period so much more to come in this area.

If you equip an offset rail, your weapon will now properly 'cant' to the side.


Pistol animations have been fixed/revised to allow for some more natural postures..... Low, Close Ready and Engage.


Basic tracers

Basic tracers have been added for testing to all weapons that use rifle rounds. Currently they will fire off every 5th round and the last 3 rounds of a magazine. We will be adding the ability for users to select the frequency of tracer rounds when selecting their kit, but for now things are hard coded. Please note that tracers can be hard to see if rounds are being fired short distances.

Map polish and optimizations

A lot of work has been done to make framerates more consistent and even throughout a map. Overall increases in framerate have been gained as well and there is still room for more improvement as development continues. Along with optimizing maps have also started to receive some polish for a more cohesive visual experience. As with optimizations, maps will continue to be polished as resources become available.


Coop Terrorist Hunt

The Coop Terrorist Hunt gamemode is now fully working and a ton of fun! We have been testing Coop TH a lot amongst ourselves as well as with community members and while the AI is still basic and dumb gameplay is addicting. It really brings back feelings of the old school tactical shooters.

The AI has received some tweaks as well to add basic patrolling and decision making. The next build should include basic reactions to incomign fire along with basic general usage of cover.

A user recorded video with a couple of developers.



We are starting to add some basic randomness to maps. To start, the Small Town map now has random covers on windows each time you start the map. We will be adding in more random items to all maps soon.


Fixes, fixes and more fixes

Lots of little (and big) things have been fixed so users should have a much more fluid and enjoyable overall experience when playing. Since we are a very small team with limited resources it can be tough to know how Ground Branch will run on various configurations and hardware. So please report bugs and issues as you come across them.

Loading Screen

Server name and message of the day was added to the map loading screen. 20160918204323_1


Work has been done on the in game VOIP system to to fix up both voice and radio systems. Voice (V key) now uses basic attenuation (no occlusion yet) to mimic lower volumes based on distance. Radio (B key) talk works within a team only and has no distance limitation.


Overall a pretty big update that should make the experience of using Ground Branch much better as well as things starting to feel more polished. Moving forward, AI will get some updates as well as continued fixes and polish as we have gotten a lot closer to an Early Access release.

Thanks for your continued support.... we are almost there!
* FIXED - Bad texture/shadow flickering on SmallTownwalls and cieling
* FIXED - Really bad framerate on Benchmark Night map due to engine change in particle collisions
* FIXED bug in AppearanceInfo class preventing proper appearnce string creation.
* FIXED kit replication issues.
* moved kit related server RPC's from GBPlayerState to GBBasePlayerController.
* changed FPlayerKit to hold array of small kit string chunks instead of a single massive kit string
* changed kit related RPC's to use single FPlayerKit struct instead of relying on multiple back and forth server/client RPC's.
* FIXED some bad lightmap UV's for a few Depot wall assets
* FIXED possible none references in HUD_PrepArea_World_Prompt
* FIXED Door_Swinging
* basic quick open/close back in
* added option to fluidly control the door as you move with it.
e.g. Right-click to hold handle, keep aiming, the slowly open door by moving forward.
* created Interaction_DoorHandle to handle character input & prompts.
* FIXED Blueprints macros using incorrect reverse loop.
* created new dedicated ReverseLoop macro to ensure it doesn't happen again.
* FIXED GBInteractComponent detecting AI as well as human as local controller.
* FIXED Door_Rollup
* FIXED BP_MissionTimer
* FIXED bound keys causing chat window to enter current text.
* FIXED spelling of 'customise' in HUD_CustomiseOperator_World_Prompt widget.
* FIXED - No collision on ReadyRoom ceiling
* Stops players from getting to out of play area
* Enhances performance in ReadyRooms due to more accurate culling of map meshes
* FIXED Bad LOD transition distance on White_Oak_Desltop2 asset
* FIXED bug in GBRoundManager & GBRoundState classes that reset/destroyed actors that were just spawned.
* FIXED ladders on SH_SmallTown_Day using old ladder type
* FIXED calling AllHumansReady() in RoundManager
* FIXED failing to get correct transform from GBSpawnVolumes
* FIXED possible bad transform in GBSpawnPoint (increased capsule size)
* FIXED Friendly names for 762x51 bullets were reversed
* FIXED GBSurfaceLink::AssociatedClass variable not linking to Blueprint based classes correctly.
* FIXED bad FootStep SurfaceLink references.
* FIXED BP_WindowCover collision & replication.
* FIXED invalid RotArray index in BP_PalletteStack Blueprint.
* FIXED BFS_TeamRoom_Roof collision geometry.
* FIXED camera references on SH_NatureArea_Day.
* FIXED reflection sphere warnings for SH_TankerShip_Night when packaging.
* FIXED WareHouse_Shelves collision geometry.
* FIXED Reload_Dry_M1911_Montage missing enum references
* FIXED erronesous bone reference in Handgun_to_Rifle animation sequence.
* FIXED none reference in LowWall_CinderblockWall_Spline Blueprint.
* FIXED missing MIC reference in WhiteboardStand_Wood
* FIXED sound asset issue in Buzzer_Cue.
* FIXED bad sprite component reference outside of editor in GBAISpawnPoint.
* FIXED bad associate class string asset references for BrassShell_X FX
* FIXED ExternalMagazine and Magazine classes to return correct projectile, with Magazine Projectile class falling back internally to BaseProjectile if Projectile cannot be found.
* FIXED Galil mag BP code to not have 0 for tracer frequency (causing error in modulo arithmetic).
* FIXED - Made suppressor DisplayNames generic so they could be used on a class of weapon and not speific ones
* AK545 is now AK and MP5 is MP
* FIXED EnvironmentQueryEditor not being loaded on server
* FIXED TestNativeInputDoor Compile errors and depreceated the Blueprint
* FIXED name tag fonts log spam during dedicated server loadup
* FIXED possible null in GBAISpawnVolume
* FIXED Test_RenderText reference in BP_ReadyRoom_Roster Blueprint.
* FIXED Interaction_Ladder widget reference in BP_ImpromptuLadder Blueprint.
* FIXED min players per team check in AGBRoundManager::AllHumansReady().
* FIXED bad extents on SM_MERGED_Gaurdrail_End_6
* FIXED Door_Rollup not affecting navigation
* FIXED overly large collision mesh on ConcretePole_A & Fire_Extinguisher meshes.
* FIXED Door_Swinging navlinks not connecting to navigation mesh.
* FIXED WayPoint Blueprint not obeying 2-way navigation.
* FIXED stepping on throw grenades spassing player out.
* FIXED grenade spoon deflecting thrown grenade.
* FIXED null instigator crash caused by AnimNotifier in grenade class.
* FIXED array issue in AGBGameMode::AddDroppedItem()
* FIXED BP_DroppedCosmetic collision variables to prevent client side GBItemProjectile collision.
* FIXED - Bad collision on GuardRail asset
* FIXED spawn location of FX/damage for grenades
* FIXED sight components not always being found properly.
* FIXED Door_Rollup Blueprint possibly accessing components that are being destroyed.
* FIXED weapon being in-hand in ready room
* FIXED GBFirearm sight component updating
* FIXED GBFirearm firing before being forced on target if off target.
* FIXED handgun position when crouched.
* FIXED weapon position not changing for offset rail when crouched.
* FIXED handgun reload blending
* FIXED - SugarPine tree not contributing to DistanceFields
* Tree no longer appears unlit in the distinace
* FIXED - M16 not casting complete shadow
* FIXED view starting at origin (maybe?)
* FIXED BP_DroppedCosmetic blocking clientside movement
* FIXED operator trigger not showing prompt if still in trigger
* FIXED roster not updating in cooperative mode.
* FIXED incorrect target for rcon/admin commands
* FIXED initial light/fog in ready room on join
* FIXED radial menus not closing on death
* FIXED BP_WindowCover not replicated when uncovered
* FIXED close ready replication on handgun
* FIXED offset rail usage replication
* FIXED handgun reload over extention
* FIXED over extention of non-handguns after using handgun
* FIXED radio voip not being global.
* FIXED pre loading screen not displaying info.
* FIXED radio static playing continously.
* FIXED player state trying to bind delegate to VOIP audio component multiple times.
* FIXED blood decals.
* FIXED not selected iron sight component as sight component by default if no other sight was attached.
* FIXED lod & textures issues in first person & operator menu.
* FIXED calling head vis item event on non-human or non-viewed controllers
* FIXED stretched bullet impact decals.
* FIXED firearms continuing to fire on client if dropped mid-burst.


* created new BugIssue_Report screen, with the submission step seperated into it own widget (BugsIssues_SubmitOverlay)
* Set MP5 Auto sound cue to loop
* Set proper attenuation on MP5 sound cues
* replaced ParentSwitchScreen macro in BugsIssues_Report with manually placement of nodes instead
* FIXME - why this would only break in this ONE screen, but work in all others, I don't know.
* New footstep and fire attenuation
* Audio update: new cues, attenuation and spatialization for pistols, smgs, rifles and shotgun
* updated UGBKitFunctionLibrary
* added log category "LogKitFunctions"
* added GetBasedKitString() to take JSon kitstring, condense it and then convert it to a Base64 string.
* added GetUnbasedKitString() to Base64 string and convert it back to condensed JSon kitstring.
* simplfied & improved DeserializeKitString()
* updated EncodeJsonKit_r()
* FJsonObject shared pointer must be included as reference!
* now returns bool if item is successfully encoded.
* now verifies ShortItemAssetPath before trying to encode.
* updated DecodeJsonKit_r()
* fixed bad syntax in VersionNumbering.bat
* Added in LOD MIC's for foliage assets that turns wind off (saving vertex shader instructions)
* Set far LODs to use this material to increase overall performance on lower end GPU's
* Helps to even out GPU/CPU load for more consistent framerates
* Changed LOD transitions to smooth from pop-in on foliage materials
* Visually smoothes out LOD transitions
* Moved a lot of foliage assets in Depot maps instance foliage system to improve performance
* Broke lighting out into sub level for Depot maps
* Only geometry is in shell map now to make bug fixing and changes easier to manage
* Added MaterialCollection parameter to allow a settings option to change wind shader between higher/lower quality
* Small optimization for lower end systems
* Changed Depot map over to use DistnaceField Lighting
* Better and more consistant lighting in distance
* Increased DistnaceField setting for a few assets used in Depot maps
* updated GBCharacter::OnRep_RemotePlayerMontage() to not call PlayAnimMontage on a montage that is already started.
* should fix double reloading attempts
* should fix IgnoreEngagedPosition getting cleared incorrectly online.
* replaced usage of Transition_ToPlayArea with Transition_FadeOut
* deleted Transition_ToPlayArea
* created GBLadderTrigger class
* will replaced GBLadderVolume
* doesn't need to encompass entire ladder - just be near it.
* must currently be manually used via interact component
* updated GBCharacterMovement class
* improved ladder movement, including automounting from top
* updated GBInteractComponent class
* removed need to name triggers & outline components
* added AddTriggerComponent()
* added OutLineComponents & OutLineActors arrays that can be bound directly to instances of components/actors
* added option to use parent component as trigger
* added option to use child componetns as triggers
* added option to ignore vertical different when checking if pawn is facing the interact component
* updated BP_LadderTest to be based off new GBLadderTrigger
* added BP_LadderTest to Example_Map
* tried to improve collision on WarehouseLadder_XXX static meshes
* created GBLadderComponent based off GBLadderTrigger
* NOTE - left old ladder versions until maps updated.
* hard-coded triggers & interaction exist in class but is disabled via define.
Felt that implementing it via Blueprint gave better result.
* added Show/HideInteractPrompts() & events to GBPlayerController
* updated BasePlayerController Blueprint to call Add/RemoveCenteredMessage based on OnShow/HideInteractPrompts events.
* updated GBInteractComponent class
* changed Pawn references to GBCharacter
* changed PlayerController references to GBPlayerController
* updated assignal delegates to include GBPlayerController references.
* created child of ImpromptuLadder_Static with included GBLadderComponent & Interaction
* created Test_LadderComponent to test ImpromptuLadder_Static_Child.
* removed BP_LadderTest from Example_Map
* deleted BP_LadderTest

* Optimizizations for SmallTown map
* Tweaked some cull distance values on various meshes
* Combined some meshes to reduce drawcalls
* First polish pass for SmallTown map
* New lighting scheme
* New PostProcess setup
* Added some more cover/foliage to a few open areas
* color corrected some rock materials to better fit new lighting
* replaced UGBFunctionLibrary::CategoriesMatch() with UGBFunctionLibrary::NameArraysMatch.
* updated affected Blueprints + C++ classes.
* stripped down UGBInteractComponent to remove bloat
* moved some of its functions to new UGBInteractionFunctionLibrary.
NOTE: Mucked around with replacements using both an interface, an actor and combinatio of both.
Ended up keeping the component, but removed its bloat.
* created /UI/Interaction/Interaction_Base widget
* includes sub-widget to show key bound to action as text or icon, depending on key.
* handles the is/is not facing, as well as binding/unbinding player input as required.
* updated Impromptu_Ladder_Static_Child and renamed it to BP_ImpromtuLadder
* created Interaction_Ladder to handle character input & prompts.
* updated GBCharacter to replicate LadderComponent.
* updated GBCharacterMovement class
* call GBCharacter->SetLadderComponent(nullptr) when losing ladder to ensure its replicated to client.
* climbs up the ladder slightly when mounting from bottom.
* updated GBPlayerController class
* renamed Start/StopInteracting to Start/StopInteraction.
* updated AGBItem::SpawnItem() to return item pre-cast to request class
* updated affected Blueprints.
* improved Door_Swinging
* AI now only opens door the door if mostly close and facing it.
* quick use now opens on mostly closed, closes on mostly open.
* improved Interaction_Base & child widgets
* improved general event names
* added ForceInteractinStop event.
* improved ladder movement code
* jump now launches you away from ladder.

* created GBServerManager class
* moved voting, admin, rcon & team kill handling to this class.
* shift config entries from Engine.init to ServerManagement.ini
* updated affected C++ classes.
* added support for additional commands via delegates.
* updated TerroristHunt GameMode Blueprint
* added support for TH specific server & voting commands :
TerroristCount, KillTerrorists, FreezeTerrorists & UnfreezeTerrorists.
* added timer to spread out creation of Terrorists over the duration of a 4-5 seconds.
Should help reduce the initial hitch on round start when playing cooperatively online.
* updated GBBasePlayerController class
* created new ClientInitilizeKits() RPC.
* modified SetAppearance() to call new kit in GBGameMode when in Ready Room (see below)
* updated GBGameMode class
* created new functions to apply ready room kit & play area kit.
* updated StartNewPlayer() to call ClientInitilizeKits() after creating the players pawn for the first time.
* updated GBPlayerController class
* modified SetAppearance() & ServerJoinTeam() to call new kit in GBGameMode when in Ready Room.
* updated GBRoundManager class
* hooked up delegates for voting & server commands.
* updated Transition_Fadeout & Transition_ToReadyRoom to remove existing Transition_Fadeout screens automatically.
* updated Transition_Fadeout to delay initial animation basedon time exposed during spawn.
* updated Trigger_Ready
* added several stubbs to reports whats going on.
* creates initial Transition_Fadeout with 10 second time.
* checks ready room status after a few seconds and removes fade if still in there.
* updated HUD_Ready_World_Prompt widget.
* added option to show message when player cannot enter play area.
* updated Blueprints that reference it to ensure its updated correctly.
* updated BP_ReadyRoomDoor
* removed client side closing of door.
* added closed boolean that is rep notified.
* added collision box that is immediately set upon the door closing.
* added trigger box to add a message when approaching closed door.
* updated BP_ReadyRoom_Roster & BP_MissionTimer to replace TextComponents with CanvasRenderTexture updates.
* updated AIBP_CharacterSpawner
* removed TextComponents
* replaced character mesh with new S_BadGuy sprite.
* added automatic setting of net.IgnorePackageMismatch when using Development build.
* added GetBuildType to GBFunctionLibrary.
* updated FrontEnd/InGameMenuManagers to show build type in lower right hand corner.
* added missing DefaultServerManagerment.ini (if it works)
* updated ServerBrowser screen to allow Development builds to ignore network version differences.
* New Marketplace Forest asset collection
* Added in some new foliage/forest content
* Seperated out buttons on rollupdoor switch to their own meshes
* Added proper collision to rollupdoor mesh
* Replace rollup doors in Depot maps
* Added attenuation to ReadyRoom ambient sounds in Depot maps
* Stops those ambient sounds from being heard in play area of map
* Moved ladder content into new folder
* This caused a resave to a lot of maps
* Made new pieces meshes for new ladder system
* Replaced old ladders in Depot maps with new system
* Replaced old rollup doors in Depot maps with new system
* Replaced ladders with new system in Small_Town
* Added in Metal window cover BP
* A window cover that allows for window holes in Small_Town to be covered
* BP includes bool to have cover visible or random cover visibility during map start
* Added in WindowCover BP's to Small_Town map
* Set to be randomly open/closed at level start
* Created LODs for various objects
* Reduced lighmap resolution on various pieces of foliage and detail objects to be more in line with mesh size
* Reduces memory usage some and gives more consistent visuals
* Made some small adjustments to placed foliage that was obstructing AI pathing
* Added in some Megascans content
* Forest pieces and some textures
* Fixed bad roughness value on railroad ties that was causing them toglare in the sunlight
* Started a polish pass on Depot_Day maps
* Cleaned up some materials
* Adding in meshes to polish up some terrain areas to look more natural
* Updated some terrain textures to higher quality
* removed GBSquadActor class
* cleaned SquadActor class
* updated all affected C++ classes
* several variables were updated to UE4 smart pointers.
* created GBAIDirector & GBAIState classes
* can be used to create AI controller & characters, so they are tracked & managed more easily.
* includes several helpful functions & events
* to use, create a GBAIDirector based Blueprint & set it as a game modes AIDirectorClass.
* utilises the GBAIState class, which can replciate information to the client
e.g. Remaining enemies.
* created GBAISpawnActorInterface class
* can be used in C++ or Blueprint to create a place where AI can spawn.
* by default, there are two new classes implement it - GBAISpawnPoint & GBAISpawnVolume
* interface allows for getting tranform information, apply appearance/loadout etc.
* see GBAISpawnActorInterface header for full list.
* created GBAIWayPoint
* simply class that links to other GBAIWayPoint's as siblings (two way) or children (one way).
* updated AGBPlayerStart::RemovePlayerStarts()
* checks that some player starts will actually be kept before destroying those that won't be.
* fixes maps having no player starts if incorrect or no actor tags are set.
* created FAIInitialBehaviour struct
* holds named behaviour & actor references
* used by IGBSpawnActorInterface & AGBAIDirector classes to set the initial behavriour of newly created AI controllers.
* updated TerroristHunt & SoloTerroristHunt GameMode Blueprints
* both use AIDirector_TerroristHunt, making them identical, AI wise.
* created TerroristHuntExample map to updated gamemodes & classes
* added GetPriority() to GBAISpawnActorInterface
* added FSpawnActorGroup struct to find and store the highest priority of associated spawn actors.
* added new meta data option "ForceAsFunction"
Force C++ function to show up as an overrideable Blueprint function even if it normally wouldn't.
* updated AIDirector_TerroristHunt Blueprint
* implemented function version of SetInitialBehaviour due to engine change (yay!)
* improved flow over first version
* includes 'idle' option
* created GetRandomisedGroupsByPriority() function
* randomly sorts spawn groups, but biases the result based on groups highest priority value.
* updated TerroristHuntExample
* removed uneeded GBWayPoints
* added idle & other initial behaviours to spawn actors that were missing them.
* added priority to one spawn volume for testing.
* updated ladder usage & movement
* auto-mounts top/bottom using MOVE_WALK style movement to step over obstacles.
* auto-aligns player with between ladder extents if ladder is wide enough.
* auto-rotates player to face ladder direction.
* limits yaw while on ladder.
* only moves down ladder if proposed movement direction is mostly down.
* improved collision on Rungladder_TopAttachment_L/R static meshes.
* More detailing/polishing of forest areas in Depot_Day
* Polish and Optimizations to Small_Town map
* Cleaned up some over aggressive LOD cull ranges
* Reworked a few areas of terrain and player boundery
* replaced GBAppearanceInfo & GBLoadoutInfo with single GBKitInfo class
* updated Depot_All_Day to use updated AI handling.
* Tweaked some LOD transition ranges in Depot map
* Added LOD to a couple meshes
* Changed tracer from particle effect to staticmesh for testing
* removed SquadActor Blueprint & related references.
* removed AIBP_CharacterSpawner Blueprint & related references.
* removed TerroristSpawnVolume Blueprint & related references.
* attempted to fix warning about ExampleDeviceProfiler by specifying WindowsDeviceProfiler.
* set correct game icon in project settings.
* removed old/bad content.
* removed classes related to previous implementation of ladder.
* Added in tracers for rifle calibers
* Ability to set tracer color type per magazine
* Includes Red, Green and Orange colors
* added GBAIDirector::GetAIState()
* created AIState_TerroristHunt
* replicates remaining terrorist count from server to clients.
* displays engine message once count is received.
* updated SoloTerroristHunt & TerroristHunt GameMode Blueprints to add support for AIState_TerroristHunt.
* Added bool to allow last 3 rounds of a rifle magazine to be tracers
* True by default
* attempted to fix BP_ReadyRoomNameTags causing log spam during dedicated server loadup due to text component usage.
* updated AGBGameState class
* moved player kit initislisation from GBGameMode server-to-client call to AGBGameState:AddTeam()
* changed NumTeams variable to from Replicated ot ReplicatedUsing = OnRep_NumTeams.
* created OnRep_NumTeams() to call player kit initislisation if if replicated NumTeams is zero.
* changed GetTeamByTeamId() & GetTeamByTeamName() to use old style forloops instead of forloop iterators to fix possible nulls.
* move RegisterServer() from GameMode::InitGame() to FCoreUObjectDelegates::PostLoadMap() delegate call setup via AGBGameSession::ProcessAutoLogin().
* Created more LODs for various meshes
* Depot work
* Optimized some distance culling values to be a bit more aggressive
* Changed out ladders to correct BP (No longer test versions from Kris's Dev folder)
* Rearranged Landscape and foliage into their own sub level to clear up old volume reference that is stuck in map (helps in organization as well)
* Set proper physical material for Landscape layer infos
* removed GBAIWayPoint class
* updated Depot_All_Day
* added many additional way points / patrol pathes.
* adjusted existing spawn volumes.
* added more AI spawn volumes & AI spawn points
NOTE: Despite not adding any visible meshes etc, it still wants to update lighting :(
* Merged GBGameMode ApplyReadyRoomKit() & ApplyPlayAreaKit() into ApplyPlayerKit().
* will now show appearance & loadout in ready room
* updated other classes to support this & prevent item usage in ready room.
* updated GBGrenade class & related Blueprints
* updated BaseGrenade & BP_Grenade to use an ExplosionClass to handle grenade explosion.
* moved assets related to grenade explosions to /Grenades/Explosions/Assets.
* moved Bluerpints related to grenade projectile /Grenades/Projectiles
* removed BP_ReadyRoomNameTags Blueprint
* changed MK48_MOD1 reload to use M249_Reload_Montage
* updated grenade Blueprints
* ensured explosives are replicated & ony play on client.
* ensured damage is only applied on server.
* added basic impact FX on clients (uses BrassImpact_XX FX).
* created GBItemProjectile
* changed BP_Grenade Blueprint parent class to GBItemProjectile
* updated BaseGrenade Blueprint to correctly use GBItemProjectile variables when spawning BP_Grenade.
* removed BP_Grenade & BP_GrenadeSpoon Blueprints
* created Projectile_Grenade Blueprint.
* updated Explosion_M18_Smoke_ Blueprint to fix references
* updated BaseGrenade Blueprint to fix references.
* removed AssociatedItem replicated stubb from GBItemProjectile.
* improved grenade usage
* grenade state is now set by authority and replicated to client.
* added offset rotation & location support to InGameAnimationBP
* added inventory events for changing off target, engaged & ignore engaged positions.
* added delegates to sight component to fire when engaged/disengaged
* updated GBFirearm class
* sight components are now determined on server & client.
* on new inventory events (listed above), will call new sight component delegates.
* when switching sights, will call new sight component delegates.
* Changed magazines to use tracer every 5th round and last 3 for testing
* LOD work on TankerShip maps
* added movement speed control via mouse wheel when spectating
* added moveup/movedown support to spectating mode (made need to rebind up/down action multiple times first)
* updated HUD_Spectator_Controlls to add movement speed control hint.
* added additional IsValid() checks in SceneComponent before calling attachment related delegates.
* added .IsBound() checks in SceneComponent before calling attachment related delegates.
* simplified detachment/attachment of AssociatedItem in GBItemProjectile.
* improved item offset timer updating in OffsetRailAdapter Blueprint.
* added accessories to FirearmCustomisation_AK (for what its worth).
* hacked in support for hangun close ready
* hacked in burst-fire for G22 for shits and giggles :P

* Adjusted some lighting settings in Depot Day maps to achieve better world shadow definition
* Still some work to do, but the environment and character shadows are more defined now.
* Its a balance between rendering resources and shadow resolution on bigger maps
* Refined outdoor lighting on Depot Day maps to be smoother and more uniform. (Less full dark areas)
* New stick/wood asset
* Changed a few settings on some foliage materials to help with dark lighting
* Set boulder master material to use dither LOD transition to reduce popping
* Cleaned up some lightmaps UVs on a couple trees
* Set materials on PineTree type to dither LOD for smoother LOD transitions
* updated loading screen creation & handling
* split loading screen into separate widgets.
* added pre-loading screen when attempting to join server.
* created post-loading screen, but disable implementation due to issues.
* created server info widget to display server name & MOTD
* added new icons when talking & using radio
* added radio usage sound effects.
* funneled VOIP sound component through player state to ensure its updated correctly based on radio usage.
* udpated VOIP handling
* treats people in ready room as being on same team
* added OnAudioFinished() binding to VOIPAudioComponent to ensure its removed.
* separated radio & talk VOIP settings.
* changed VOIPAudioComponent to weak pointer
* added stubbs to track VOIPAudioComponent
* pushed UE413 fixes into GBGameMode & GBPlayerController that may affect voip
* Optimized ShootingRange map
* removed VOIP stubbs.
* reenabled radio squelch when radio is used.
* adde MaxVoiceDistance (in cm) editable variable to GBPlayerController
* Increased DistanceFields detail on a few meshes
* Changed trees/bushes from individual StaticMeshes over to foliage system
* Shooting Range and Killhouse maps
* Performance increase
* Rearranged ShootingRange map to use Shell system
* Added bone to M16 front sight post so we can hide it when in engange posture and viewing through a magnified optic. (Not implimented in game yet)
* Not NORG but much easier than trying to make it work other ways. :)
* updated GBDamageType class
* removed UT4 like handling of effects.
* added HitEffectsClass
* updated GBCharacter to spawn HitEffectsClass on client based on LastHitInfo replication.
FIXME - update to support through-and-throughs in one class!
* moved UAISense_Damage::ReportDamageEvent() from GBBulletProjectile to GBAIController.
* added more checks to prevent continous firing on death drop.


* Temporary fix for AI "Trains", for now simply set randomly some of the AI to "Guard" command. Means they stay in place inside buildings when spawned.
* Fixed collision problem with EQS Test Target capsule collision getting in the way of players :(
* Quick tweak to EQS to reduce some of the CPU load in heavy AI situations
* Fixed a bug in the sensory system by updating the perception component "listeners" during calls to SetGenericTeamId, that way it refreshes the queries it runs for sight based on the correct team id rather than the default 255.
* Updated some CVAR values to represent the correct naming convention for AI values.
* Updated AI to work with old waypoints for now.
* Fixed up smalltown to use Kris's new spawns.
* Fixed up kris's TH example map to give some waypoints to group spawns.
* Added temp death marker so that dead bodies are noted and affect navigation queries (seems to not work as expected).
* Updated TerroristBot to use old waypoints, removed some redundant code from GBAIController for fixing team spawn issues now we're using AIDirector class.
* Added fix for AI targetting dead player. I'll miss you!!

Read this story on GroundBranch.com

New Ground Branch build available - version 1013 build 110810

15 August 2016 - 04:48 PM

Well what can we say... its been way to long since the last public build and we apologize. There have been numerous private testing builds with the Operator Edition owners and they have provided tons of information on fixing bugs and provided suggestions on improving the game. It also made us realize that the internals of the game have reached a point where we need to refine our process a bit to better accommodate faster/cleaner iteration that allows us to get public builds out faster and with much less work on our end. We have taken care of that, but in the mean time WE HAVE A NEW BUILD!!!!!


Build Version 1013

Build 110810


Approximate Update size: 1.9GB

Steam build Id: 1275090

Known Issues

We are still not even to official Early Access yet so lots of things are half broken and not working. The biggest ones:

  • MP connectivity is spotty (may not connect or disconnect for no reason)

  • MP games have issues with correct loadout and kit items sometimes (May not get in game what you equiped in Ready Room)

  • We are in the process of rewriting how our gamemodes work and how our loadouts are replicated

  • Texture streaming issues in Operator Menu (very low resolution textures sometimes)

We made the decision to do this release knowing MP was half broken because there was so much other stuff in there. Hopefully we will have all that fixed up in a new build soon.


Terrorist Hunt

We plan to come up with a new name for this mode but for now its the easiest way to label it. Lots of work has been done and there are some new parameters available to mess with to fine tune some of the A.I. values if you like:


  • Terrorist Count - Hopefully explains itself

  • Terrorist Perception Delay - How much "alertness" the AI must feel before they consider something fully perceived

  • AI.FootstepWalkLoudness - How much of the "alertness" value is emitted with a walking footstep (attenuated by distance)

  • AI.FootstepRunLoudness - How much of the "alertness" value is emitted with a running footstep (attenuated by distance)

  • AI.FootstepNoiseRange - The maximum range allowed for any of the alertness values above

  • AI.WeaponFireVolume - How much of the "alertness" value is emitted with a single shot (attenuated by distance)

  • AI.WeaponFireNoiseRange - The maximum range allowed for any of the alertness values for shot value above

  • AI.IncomingFireActivation - How much "alertness" is perceived for an incoming fire (from the whizz/crack system)

So think of the Perception Delay as the bucket size and the other alertness values as filling the bucket up.

This game mode is also now available on the Depot map! This is a first pass at getting it working on a larger map so as with everything at this point, it is very rough. But it is a lot of fun!


TH does work in coop mode for some, though please see known issues above. If you want to try it there are some discussions in the forum about it.

Some new UI Items

In the Aircraft Takedown training map you can now reset your targets by walking up to the device next to the entry door and hitting the J key.


The RadialMenu has been updated a bit graphically (more to come) and we added a Drop option so you can basically get out of the menu without actually selecting anything. This will also eventually allow you to drop actual items on the ground.


The weapon customization menu now allows easier deleting of equipped attachments.


New loading screen(We would like to have no loading screens, but for now we do).


Gadgets and Weapons

We have started to remix the weapon sounds and the first one in the build is the MP5. Still lots of work in that area but it should give you a sense of where we are headed.

The wrist device was also added in for some prototype testing. The idea for this is to act as an information system to the player and his/her team. It *could* be used for displaying in game time, objective info, various maps and images. We haven't locked down exactly what we want it to do just yet so you will be seeing some functionality tests with it over the next few months. At the moment it doesn't do anything.


Breaching Doors

Some door breaching prototypes have been added, though they currently only work in single player. Players can shoot out locks or place and detonate breaching charges. Since this is currently a prototype the breaching charge controls are hard coded; When in a door's interact mode (see door control text) NumPad-Zero places a breaching charge and NumPad-One will detonate it. Watch out, because the blast will cause damage if in its close vicinity! This will all be greatly enhanced in coming builds.




We have begun some optimization efforts, but still have a long way to go. Weapons, weapon attachments, characters and character gear all have proper LODs now. We are now beginning map optimization passes so you should see some small improvements in this build and more in followup builds.

Animation and Character Updates

Various weapon reload and movement animations were updated. We in the process of rebuilding our weapon collision system as well as adding a much more robust and realistic movement model. Hopefully that will be in the next build!

New player nametags on vests instead of the placeholder floating yellow text.


Coming Soon

Stand alone Dedicated Server! We are currently testing out a Windows stand alone dedicated server Tool on Steam that will be freely available to anyone that wants it. No need to purchase the game to run a server. This should be available in the next build.


If you want to see all the changes in their raw form here is a detailed changelist:


FIXED - Bad framerate in Killhouse night map
* Removed rain particle effect as the particle collision had massive slowdown
FIXED - Compile errors in Depot Landscape Material that were spitting out log errors
FIXED potential nullptrs in GBGameState caused by GBTeamInfo replication delay.
FIXED GBCharacter not setting GBPlayerState character reference on server
FIXED leaning while running/sprinting (doing either while leaning cancels lean).
FIXED laser & tac lights not going off on drop or unequip
FIXED NVG overlay not being removed if you customise operator with NVG enabled.
FIXED not being able to remove optic or top attachment from helmets without reoppening head gear screen.
FIXED hard to place pouches by disabling animation while focussed on platform.
FIXED mouse cursor staying as pouch (disabled the feature).
FIXED - Falling through ground under stairs in SmallTown map
FIXED - No collision on red wall along rear of TankerShip
FIXED WebBrowser widgets being removed on editor restart (changed WebBrowser plugin load order)
FIXED - A few doors in SmallTown map opening wrong direction
FIXED - Userplaceable targets don't place actual target
FIXED - Character not showing wetness after being in water
* Drying time doesn't seem to be working though. May have gotten lost when PlayerController was rewritten.
FIXED - Bad weighting on Mk48 rear iron sight. Not attached to top cover
FIXED inconsistencies in bullet projectile information (e.g. some lengths were in cm, supposed to be mm).
FIXED bug in GBBulletMovementComponent that accepted lengths in cm, instead of mm (see above).
FIXED menu game mode showing up solo game mode list
FIXED reactive targets not dropped (HACK FIX for now)
FIXED solo terrorist hunt menu not appearing on death when game is packaged
FIXED loading screen walk cycle animation crash (I hope)
FIXED log spam due to invalid index in server browser
FIXED server browser tabs not sorting
FIXED server browser basic all, adversarial & cooperative filters.
FIXED - bad lighting on doorframe in SmallTown map
FIXED - Black platform and pouches in some lighting situations (like Aircraft_Takedown interior)
FIXED - operator UI use in SoloTH menu.
FIXED - text component issue on dedicated server with BP_ReadyRoom_Roster.
FIXED - BP_WristDevice crashing dedicated server (naughty John)
FIXED - hang-up when attempting to join server
FIXED - missing UI for split second when joining server.
* updated DefaultEngine.ini slightly
FIXED - BaseCharacter text component issues
* dedicated server does not like the character trying to add or use existing text components :(
FIXED - references to non-existing text components in ItemMacros
FIXED - freelook reset
* not as smooth as I would hope, but its a start.
FIXED round not ending when player logs out.
* modified AGBGameMode::DiscardPawn() to kill character before unpossessing character.
* modified TeamElimination & TerroristHunt GameMode Blueprints to bind existing K2_OnLogOut event.
* modified AGBGameMode::LogOut() to add OnLogOutDelegate()
FIXED AGBRoundManager::HaveEnoughReadyPlayers() counting ready players incorrectly
* now properly adds zero'd out counts for *all* teams before counting ready humans & bots.
FIXED round not starting / not being able to enter ready triggers that were beyond ready room doors
* updated BP_ReadyRoomDoor to set its initial open/close status without the need for round to change
* removed solid blocking boss (John will add blocking volumes manually)
FIXED none reference in BP_WristDevice when attached to character without a controller.
FIXED editor crashing due to loading screen in networked PIE game
* loading screens are now disabled in editor.
FIXED BP_ReadyRoomNameTags not being destroyed when parent character is
FIXED first person view in spectator mode
FIXED TerroristHunt GameMode Blueprint.
FIXED several bad player start locations on tankership_X_X
FIXED bug in Trigger_PrepArea that would remove player from team as they were sent to the play area
FIXED bug in GBBotManager that would try to place bots on non-existent team
FIXED Blood effect and decal materials are now setup properly
FIXED GBPlayerStart::UpdateTextrender declaration not being defined as EDITOR_ONLY
FIXED falling through floor due to bad / missing player start in SentToPlayArea
* instead of spawning player a 0,0,0, it will log the error, warn the player and leave them where they are.


* Fixes to the AI perception system, so that enemies now have an activation threshold before they are considered "perceived". Basically emulates a human response time. Values still need   tweaking. Also now the AI can properly forget their current target if they lose line of sight. TODO: Fix up the UE4 perception system to adapt this stuff so it doesn't have to be   duplicated in the new perception component so much (should be a feature of the Perception system, so submit it as a pull request to Epic).
* Fixed terrorist attacking - Now does not reset threat (need to hook up expiry of senses to threat evaluation)
* Added new EQS *PointWithLosToEnemy* change for following threat
* Altered Terrorist BT to chase threat
* Made a few tweaks to game mode and test maps.
* Solo Terrorist Hunt Menu now has temporary setting for perception delay (larger number = slower perception)
* Added perception value scoring for sensing.
* Added BT task for resetting a vector
* Changed whizzcrack information to include who fired the shot so we can get location properly
* small fix to collision on T wall near spawn of map
* Fix to Terrorist BT, having some weird issues with nodes not being executed! erk!
* A few small tweaks to smalltown ai test map, removed debug sphere that I checked in! :)
* Upped sight sense distance on Terrorist Bot, minor tweaks to small town ai test map, added back debug info into perception component
* Fixed collision on terroristspawnvolume so AI does not get line of sight blocked by it
* Modified gameinstance with function for grenade handling of physics materials (returns the impact effect based on the hitresult physics material name) see M67_Frag for usage, code comes   from OnExplode event of BP_Grenade and BaseGrenade.
* Changes to AI perception handling. Now handles footsteps and muzzle flashes as well as perception scoring. Will be refactoring later. Initial check-in so we have a working base.
* Fixed a bunch of missing pragma once calls in order to help the non unity build (trying to fix build problems with ai component).
* Submitting tactical perception component befor applying some changes to UE4 class to make it simpler, just in case :)
* Updated door swing BP with noise values for AI perception to hear.
* Changes to AI perception:
* AI now percieves footsteps, weapon fire sounds and other audio events. Todo: door opening and grenade landing
* AI now can be flashed by a flashbang. Effect lasts for too long currently.
* All AI perceptions need values for effect, currently footsteps are heard "very strong" and need balancing versus perception threat evaluation of them
* AI line of sight check now uses enemy eye viewpoint rather than middle of collision volume
* AI additional sensing updates for whizzcrack
* AI can now check and perform reloads correctly
* AI Cover generator rework started.
* AI Spawner fixed to allow patrol command to be instigated for enemies with patrol paths
* Small town AI test map additional nav modifier volumes added to stop navmesh generating in trees and out of bounds areas.
* Fixed some log spam coming from tactical perception component.
* Some small changes to Smalltown AI test map.
* Character spawner now spawns with correct squad instruction for AI to patrol
* Door swinging has auto-open for AI now when trigger overlap
* Updates to PointWithLosToEnemy EQS query so that it actually works
* Updated Terrorist BT's a bit
* Fixed up EQS query issue with line traces (were hitting actor for line of sight tests)
* Added navmesh link proxies to doors
* Doors now open when AI inside trigger volumes
* Changed recast properties on navmesh so that open doorways are AI navigable
* Fixed property on geometry traces for generators on PointWithLosToEnemy EQS query, now collides with floor when going up stairs
* Added CVAR's for ai noise generation perception values
* Updated small town ai test map with some more character spawners
* Added "guard" command to characters, so they don't actively seek out threats but are able to protect themselves when threats   are visible (more later)
* Fixed squad and guard position data to be passed by character spawner on spawn
* Updated Terrorist BT2 to handle guard command
* Updated SoloTerroristHunt and TerroristHunt game modes to randomize the fixed spawners used if less than total terrorist count
* Initial setup of Depot map for TH AI modes
* Fixed issue with TerroristBT2 having incorrect checks because of new guard value in command enum
* Updated solo terrorist hunt menu to expose AI cvars for testing
* Changed ITacticalAIInterface to not use blueprint implementable event and associated usage. Added relevent functions to GBFunctionLibrary to compensate for functionality.
* Fixed collision issue with trigger volume for Depot map by adding new preset and switching triggers to use it (OverlapOnlyVolume) along with new "Volume" object type.

* updated Trigger_Ready to flush local players pressed keys upon entry
* updated DefaultDeathOptions to reset input when HUD_Death_Overlay is hidden.
* removed stubbs from GBGameInstance relating to sessions & loading screen.
* added GameModeClassAliases to DefaultGame.ini
* short names for listed game modes & end up with path.
e.g. "Game=TH" will become "Game=/Game/Blueprints/GameMode/TerroristHunt.TerroristHunt_C"
* Added small area and blocker volumes to Ready Room exit doors
* created BP_PlayerStartGroupManager
* generic class to use for enabling/disabling player starts based on groups for different game modes.
* updated GBBasePlayerStart
* re-enabled auto-destroying a player start based on GameModeTag
* slightly updated existing Blueprint functions.
* added GetGroupDistances() Blueprint function
* Get distances of player start groups from supplied point, sorted from closest to furthest.
* updated TeamElimination GameMode Blueprint to use BP_PlayerStartGroupManager to handle player starts.
* added TerroristHunt compatible GBTeamPlayerStarts to Depot_All_Day
* added transition overlay to/from ready room & on pre-round freeze.
* hopefully makes the view teleporting from one place to another feel better.
* removed old BP_UserPlaceable_X Blueprints & references.
* FIXME - finish the move/rotatate/scale gadget for MapKit!

* created GBPlayerStart class
* replaces need for separate player start classes.
* uses Actor Tags to store GameMode tags
* includes RemovePlayerStarts() function for to quickly remove unneeded player starts (if desired)
* updated affect GameMode Blueprints
* added ActiveClassRedirects GBSoloPlayerStart & GBTeamPlayerStart to GBPlayerStart in DefaultEngine.ini
* removed GBBasePlayerStart, GBSoloPlayerStart & GBTeamPlayerStart
* updated other affected Blueprints
* added PlayerStart ShowDebug option to GBHud.
* updated several maps to add proper actor tags to player starts for TeamElimination, Deathmatch & TerroristHunt
* Changed blood decals Particle system + materials to look better
* simplified GBPlayerStart class
* removed bot/human variable
* removed bot/human check from IsValidFor()
* updated TeamElimination & TerroristHunt
* overrode ChoosePlayerStart() with Blueprint version to select any player start during ready or warmup periods.



* updated shell, footstep & other sounds
* set or updated attenuation settings
* set or updated concurrency settings
* added pitch modulation to shell sound ques
* adjusted volume of shells/footsteps
* ensured all cue were set to FX sound class instead of Master sound class.
* Moved Operator Bench over by killhouse door/stairs for better visibility
* First pass at UI for resetable targets
* Walk up to reset box to get UI
* Allows user to set number of total and friendly targets
* updated GBPlayerState
* FIXED issues with ClientInitializePlayerKits() RPC by removing need for it.
* created InitializePlayerKit(<profile name>) that is called by GBTeamInfos or player state if locally controlled.
This removes the need for the server to tell the client to initlise its profiles,
but still ensures the player state is properly initlised first.
* WalkCycle icon test for loading screen
* Flipbook material to apply to UI asset
* updated GBGameInstance to support async loading screen using DefaultMoviePlayer.
* updated GBGameInstanceBP to create & return loading screen widget
* updated loading screen
* OPFOR/Hostile Legs/Torso meshes and materials (Not in game yet)
* SkelMesh Duster/face cover mesh for use with hostile chearacter type (Not in game yet)
* Added functionality to wear baseball hat reversed (needs UI element still)
* Added bool and new Trans/ROT values in BaseHeadGear
* FIXME: Needs checkbox in UI to select to wear reversed or not (Suggest adding by Patch selection widget)
* Created LODs
* Platforms, Pouches, Headgear, Eyewear, Equipment
* Added in simple white solid material for use in some testing
* Changed TargetReset Switch to create/destroy widget as needed instead of creating at startup and set visibility
* LODs for M16
* Includes removed unsed bones based on LOD
* updated GBGameInstance
* improved handling of loading screen
* ensured loading screen is not garbage collected
* updated Screen_Loading widget to prevent crash due to garbage collection (AHH!)
* updated GBCharacter
* changed MinSafeFallDamage to 8mps
* added DeathFallSpeed to determine how fast player must be falling before death is certain (12mps)
* updated GBMovementComponent
* bUseFlatBaesForFloorChecks set to true
* PerchRadiusThreshold set to 16
* Weapon LODs
* AK74, AKS-74u, M9, G22, M14_EBR, M1014, UMP, MP5
* LOD skeleton for Mk48
* LODs made for weapon attachments
* Changed collision from BlockDynamic to BlockAll to fixed issue with AI perception
* First pass at simple binocular BP (Not usable in game yet)
* added gadget menu events & bindings
* updated GBDroppedItem to limit number of dropped items based on controller & item categories
* updated BP_DroppedCosmetic to limit life span to 60 seconds.
* updated InGameMenuManager
* made drop down buttons a separate widget
* rigged play button to be created by game mode settings widget
* implemented game mode settings widget for MenuGameMode (required rebasing GBMenuGameMode class)
* Made text on doors smaller
* Made it so TargetResetSwitch doesn't have the overlay widget display on clients other than the one using it.
* Reset action still doesn't work over network for some reason.
* Changed UserPlaceable items to use base classes for easier usage in the future
* Added in ShootingRange_Night
* ENGINE CHANGE - updated SceneComponent changes in attempt to get IKinema 4.11.x plugin to work.
* ENGINE CHANGE - added HACK to PrimitiveComponentPhysics in attempt to get IKinema 4.11.x plugin to work.
* created menu for John
* for widget, see UI/ExampleMenu/ExampleScreen
* for creating/showing menu, see Blueprints/BasePlayerController.
* for binding, see end of Config/DefaultInput.ini
* Created initial Inventory and item BPs for equipment items
* Binoculars
* Medkit
* BreachingCharge
* reset character capsule component collision type to Pawn.
* Added 'Equipment' category to Platform customization
* Cleaned up widget mess in UserPlaceableSystem_Overlay and grouped categories into tabs
* Adding in Rama's UMG Color Picker
* updated AGBAIController::Set/GetGenericTeamID to be clearer.
* updated AGBPlayerController::SetGenericTeamID to be clearer.
* updated GBPlayerController MoveX to cast Pawn or Spectator Pawn to ADefaultPawn instead of using just GetDefaultPawn() when not using a character.
* added GetClassDefaultObject() to GBFunctionLibrary.
* updated UserPlaceableSystem related Blueprints
* created UserPlaceableInterface.
* implemented UserPlaceableInterface in ARCH, Doors, Light & Objects _Base Blueprints.
* renamed UPS_ListButton to UserPlaceableSystem_ScrollListEntry.
* updated UserPlaceableSystem_ScrollListEntry
* takes an actor class during spawn & gets text & icon from that if it implments the UserPlaceableInterface.
* calls event delegate when clicked.
* updated UserPlaceableSystem_Overlay
* greatly simplfied the creation of scroll lists.
* assigned scroll list entries to updated selected user placeable class & actor when clicked.
* rigged up tick function to trace mouse cursor & place selected user placeable, if one exists.
* added controls to place & rotate selected user placeable, including ability to create multiple copies while holding CTRL.
* added ability to pass mouse & keyboard input back to viewport while holding right mouse button (required creating an input assistant actor).
* cleaned up general layout, changed design slight (less use of canvas, more use of vertical/horizonal boxes).
* updated open & close functions to leave & return to character as required.
* New Marketplace explosion kit
* New Marketplace item for procedurally placing trash and debris
* New grenade detonation pack from the Marketplace
* renamed UserPlacableSystem to MapKit
* moved all related UserPlacableSystem assets to locations under new MapKit directory & fixed up all redirections.
* created GetClassesByInterface() in GBFunctionLibrary.
* renamed all X_Base MapKit actors to BaseX so they work with GetClassesByInterface() properly
* It is designed to ignore any class that starts with "Base".
* updated MapKitActorInterface to add GetCategories().
* updated MapKitMenu
* changed overall layout to be more horizontal
* added primary & secondary category tabs
* added Escape button detection
* if actor is selected, clears it.
* if not, closes menu.
* Set PhysMats for metal targets to have large density so bullets would not penetrate
* Updated Frag grenade detonation effect
* Reworked TargetReset switch system based on Kris's example
* Much cleaner
* Added required key press once player enters trigger to open UI
* Now correctly open reset UI only on client that initiates the action
* Still does not properly replicate target reset call/values in MP
* Added OnHit check to frag grenade to find PhysMat that it sits on at detonation time
* Will be used to spawn proper "hit" effect for surface the grenade is on
Added impact assets for grenade usage
* created GBSurfaceLink class
* Used to link a any physical material to any class based on user defined type.
e.g. Grenade, FootStep, Bullet
* Links can be created in editor in any directory, as long as that directory is
added to DefaultEngine.ini, [/Script/GroundBranch.GBSurfaceLinkProfiles].
* Uses singleton to hold paths & profiles based on those paths and defined types.
* Bullets impacts & foot steps Blueprints swapped via C++.
* Basic grenades swapped via Blueprint (no effects - just debug trace line stuff).
* See M67 for usage.
* removed bullet impacts, grenade impacts & footsteps references from GBGameInstance.
* added UGBSurfaceLinkProfiles::Get() call to GBGameInstance to init all profiles at runtime.
* created Test_SurfaceTypes map.
* Unhooked hacked in bounce sound generation from BP_Grenade
* Doesn't really work correctly
* Prototype breachable door (Door_Swinging_Destruction)
* Once interact phase is initiated hit NumPad 0 key to place breaching charge and NumPad 1 to detonate
* Locks can also be shot out by shooting at the handle area
* Upon detonation/lock shot out meshes get swapped, sounds played and particle effect played (All are placeholder of course)
* Ability to set door as locked, requiring shooting out lock or breaching to open
* Added in simple camera shake to flashbang and frag grenades
* Animation updates
* Reloads + idles
* Stand sprint improved (flappy arms)
* mk48 reload
* Testing out CanvasRenderTarget2d
* Added a whiteboard to ExampleMap that has a CanvasRenderTargetmaterial on it counting numbers upward
* Text is small because there is no way to adjust size outside of the font itself
* updated GBSurfaceLink class
* renamed GBSurfaceLinkProfiles to GBSurfaceLinkManager
* replaced struct based TArrays with TMap implementation
(simple & should be faster)
* updated affected Blueprints
* updated GBFootStepImpact
* fixed nullptr when opening in editor
* switched spawning effects etc from using PostInitComponents() to BeginPlay()
* updated affected Blueprints
* updated GBBulletImpact
* removed unused values (ricochet chance etc)
* switched spawning effects etc from using PostInitComponents() to BeginPlay()
* updated affected Blueprints
* continued work on map kit editor
* drag/drop actor classes from list of actors.
* selected placed actors using left mouse (CTRL for multiple)
* deleted selected actors using DELETE
* focus on selected actors using F
* need to get hit proxies to work in UE4 non-editor viewport.
* ENGINE CHANGE - fixed particle module event send to game support
* updated shell effect particle systems to use fixed SendToGame support.
* created /WP_Effects/SurfaceLinks
* created GBParticleImpactBySurfaceType class
* linked all shell eject PS' to GBParticleImpactBySurfaceType using BrassImpact (?) type.
* Added in Destruction prototype parts to swinging door
* Currently hard coded controls for testing
* NumPadZero places breaching charge when door is usable and NumPadOne to detonate
* Player has 1 breaching charge by default (Not an actual inventory item yet)
* 3 states for a door: Intact/Lock Shot Out/Breached
* Can shoot out lock by registering 2 shots in area of handle/lock
* Debris meshes and destruction effect for wood door
* New Grass asset pack from MarketPlace
* Work on getting BrassShell surfaceLinks setup
* Made blueprints for brass/shell impacts ( can't use same effects as bullet hits)
* First pass on particle effects
* Added in some hit sounds
* Replaced doors in SmallTown due to me messing something up while testing door breaching
* Added in some footprint decals (not workign in game yet)
* Hostile and Team member L/R bootprints
* Parameters in material to control Opacity, Color and Roughness
* Small optimization to smoke grenades
* Added socket to Smoke grenade and setup smoke emitters to use it (was just using center of mesh)
* Added simple effect of grenade spoon flying off when thrown.
* Needs some tweaking to get it to look right
* created Test_TriggerVsParticles map
* ENGINGE CHANGE - updated particle system component & related classes
* send to game events split up, based on event type (collision, spawn etc).
* physical material now included in collision event (removes need to trace again).
* FIXED bug that caused collisions with triggers/volumes.
* FIXED bug that causes massive collision event spam if particle spawns inside volume.
* added min speed variable to collision event to prevent collision unless particle moves fast enough.
* helps prevent massive collision event spam if particle spawns moves slightly on a non-up angle & the ignore non-up option is used.
* some minor optimisations.
* updated Test_BulletPenetration map
* updated some physical material densities
* FIXME - Need to set them all at some point, talk more about special cases.
e.g. targets, non-penetratable walls, full vs empty barrels etc.
* Setting up door destruction in TankerShip map
* Only outisde doors done so far
* Door_Swinging changes
* Set debris chunk meshes to not collide with player
*  Created pieces parts for TankerShip metal door
* Added offset to door handle meshes for easier custimization
* Created parts for door destruction
* TankerShip
* Training
* New sounds for door destruction
* Wood and Metal
* Setup door breaching in TankerShip, Killhouse and SmallTown maps
* Some new weapon sounds for G22 and various weapon dryfires
* Revised breaching charge model/materials to add a bit more detail
* Cleaned up BreachingCharge related BP's to be more efficient
* Added in frag grenade explosion sound for water (not hooked up yet)
*  Built lighting on TankerShip, Killhouse and SmallTown maps
* slight change to BaseCharacter::TraceFootstep function in attempt to fix packaged version.

* updated Example_Map to add shapes for placed character to test foot placement.
* removed delay on AI bullet whizz-crack distance warnings.
* fixed warnings about casting widget that didn't need casting due to internal C++ update.
* first massive effort to fix bad references the hard way to fix packaging & kill log spam (Please kill me).
* Added breaching parts to OfficeDoor
* Added breaching to SmallTown doors
* updated surface link to use FAssetStringReference for associated class
* updated all affected C++ & Blueprints.
* Ran FixUpRedirects on entire Content folder
* Cleaned up some more log spam issues
* Added in breached door assets for IndustrialDoor
* updated radial menus
* removed ability to set fixed position / size entries (just 360 / number of entries now)
* added ability to set start angle (0 = top of screen, 180 = bottom etc) of first entry
* FIXED mouse cursor not returning to previous location when menu is reopened.
* lets you quickly toggle the last option you used even if you move the mouse since you last opened the menu.
* added DO NOTHING option to use item radial menu if there are no attached items to use
* Replaced a depricated node in the marketplace cable/rope BP system

* Fixed more log spam issues
* Small change to Door_Swinging
* Changed detonation impulse origin a bit back away from door on the side the charge is placed. This makes sure the debris fles into the doorway.
* Made number of breaching charges a player can place 2 (up from 1)
* Created and Industrial Door damaged parts
* Made some small adjustments to the breaching effect
* Made some parts less directional
* Made the sparks a bit smaller and have slightly less lifetime
* Cleaned up some lighting issues with a few Tanker Ship railings. Required lighting rebuild
* Scaled BreachingCharge mesh up about 15%
* Added breach items to Depot doors and rebuilt lighting

* updated shell, footstep & other sounds
* set or updated attenuation settings
* set or updated concurrency settings
* added pitch modulation to shell sound ques
* adjusted volume of shells/footsteps
* ensured all cue were set to FX sound class instead of Master sound class.
* Temporary fix for bad framerate in Killhouse night map
* Removed rain particle effect as the particle collision had massive slowdown
* Changed BreachingCharge over to a SkelMesh and added initial AnimBP for it
* Initial setup for nametags on vests
* Uses RenderTexture2d
* No more hovering yellow text... now part of vest itself
* Fixed nametag material to it lights properly
* Nameplates on Platform now adhere to the selected platform's color
* Added in new sounds for dryfire, Mag usage and slide release
* G22 and 1911
* Added in new sounds for dryfire
* M4, M16 and M1014
* Adjusted up some low res DistanceField settings on meshes in Aircraft_Takedown map
* Added in WristDevice test
* Automatically attached to character forearm
* Simple test RenderTexture2d for screen
* WristDevice now reading in time of day from map for testing
* Exposed TimeOfDay entry to Blueprint via ui function library
* tweaked animation speed of walk cycle on loading screen
* fixed potential null in generate random appearance/loadout functions
* depreceated GBItem KitRoot variable & related functions
* created replacement functions based on GBItem Categories.
* updated affected C++ & Blueprints.
* moved basics of platform nametag handling from separate platform Blueprints to GBPlatform C++ class.
* added solid box to block off ready room doors
* stops people leaving ready room prep area trigger before the server gets the 'enter play area' message.
* updated BaseGameTrigger to support both local & server side enter/exit events in case I need to change Trigger_Ready.
* created BP_ReadyRoomNameTags
* updated BaseCharacter to spawn BP_ReadyRoomNameTags if in ready room.
* Changed version number in packaging settings to 1013
* ENGINE CHANGE - added fixes/hacks to support VS2015 Update 3

* updated Trigger_Ready to flush local players pressed keys upon entry
* updated DefaultDeathOptions to reset input when HUD_Death_Overlay is hidden.
* removed stubbs from GBGameInstance relating to sessions & loading screen.
* added GameModeClassAliases to DefaultGame.ini
* short names for listed game modes & end up with path.
e.g. "Game=TH" will become "Game=/Game/Blueprints/GameMode/TerroristHunt.TerroristHunt_C"
* Added small area and blocker volumes to Ready Room exit doors
* created BP_PlayerStartGroupManager
* generic class to use for enabling/disabling player starts based on groups for different game modes.
* updated GBBasePlayerStart
* re-enabled auto-destroying a player start based on GameModeTag
* slightly updated existing Blueprint functions.
* added GetGroupDistances() Blueprint function
* Get distances of player start groups from supplied point, sorted from closest to furthest.
* updated TeamElimination GameMode Blueprint to use BP_PlayerStartGroupManager to handle player starts.
* added TerroristHunt compatible GBTeamPlayerStarts to Depot_All_Day
* added transition overlay to/from ready room & on pre-round freeze.
* hopefully makes the view teleporting from one place to another feel better.
* removed old BP_UserPlaceable_X Blueprints & references.
* FIXME - finish the move/rotatate/scale gadget for MapKit!

* created GBPlayerStart class
* replaces need for separate player start classes.
* uses Actor Tags to store GameMode tags
* includes RemovePlayerStarts() function for to quickly remove unneeded player starts (if desired)
* updated affect GameMode Blueprints
* added ActiveClassRedirects GBSoloPlayerStart & GBTeamPlayerStart to GBPlayerStart in DefaultEngine.ini
* removed GBBasePlayerStart, GBSoloPlayerStart & GBTeamPlayerStart
* updated other affected Blueprints
* added PlayerStart ShowDebug option to GBHud.
* updated several maps to add proper actor tags to player starts for TeamElimination, Deathmatch & TerroristHunt
* Changed blood decals Particle system + materials to look better
* simplified GBPlayerStart class
* removed bot/human variable
* removed bot/human check from IsValidFor()
* updated TeamElimination & TerroristHunt
* overrode ChoosePlayerStart() with Blueprint version to select any player start during ready or warmup periods.

Read this story on GroundBranch.com

A new Ground Branch build is coming soon

05 August 2016 - 08:54 AM

I know its been a while since the last build so we wanted to let you know that a new one is coming next week. We have been testing it for a few days, but still have a few more issues to iron out. There are many bug fixes, updated A.I., an initial version of Terrorist Hunt on the Depot map, sound fixes and animation updates.

Here are a few user videos from our testing builds to tide you over:

Read this story on GroundBranch.com