{"id":262,"date":"2024-07-14T17:22:45","date_gmt":"2024-07-14T17:22:45","guid":{"rendered":"https:\/\/www.thegames.dev\/?page_id=262"},"modified":"2024-07-14T17:22:45","modified_gmt":"2024-07-14T17:22:45","slug":"kaos-gameplay-and-system-utilities","status":"publish","type":"page","link":"https:\/\/www.thegames.dev\/?page_id=262","title":{"rendered":"Kaos Gameplay and System Utilities"},"content":{"rendered":"\n<p>This is the basic WIP documentation for the Kaos GAS Utilities plugin.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-large-font-size\"><strong>Getting Started<\/strong><\/li>\n<\/ol>\n\n\n\n<p>1.Download the plugin from Github: <a href=\"https:\/\/github.com\/KaosSpectrum\/KaosGASUtilities\">https:\/\/github.com\/KaosSpectrum\/KaosGASUtilities<\/a> and place in YourProject\/Plugins\/ folder.<br><br>2.Add the plugin to your build.cs file (if you plan to extend or use the plugin in code, highly recommended)<br><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: Relevant Code:; notranslate\" title=\"Relevant Code:\">\n\t\tPublicDependencyModuleNames.AddRange(new string&#x5B;]\n\t\t{\n\t\t\t&quot;GameplayAbilities&quot;,\n\t\t\t&quot;GameplayTasks&quot;,\n\t\t\t&quot;GameplayTags&quot;,\n\t\t\t&quot;KaosGASUtilities&quot;\n\t\t});\n<\/pre><\/div>\n\n\n<p>I added the recommended ones for using ability system also.<\/p>\n\n\n\n<p>3. Add the plugin in your project uproject. Open the editor and go plugins and ensure Kaos GAS Utilities is ticked.<\/p>\n\n\n\n<p>4. I highly recommend subclassing the following from the plugin:<br>UKaosAbilitySystemComponent<br>UKaosGameplayAbility<br>UKaosAbilitySystemGlobals<\/p>\n\n\n\n<p>This will allow you add your own specialization for the above classes.<\/p>\n\n\n\n<p>5. You will need to modify your games DefaultGame.ini, below is the recommended<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[\/Script\/GameplayAbilities.AbilitySystemGlobals]<br>AbilitySystemGlobalsClassName=\/Script\/YourGame.YourAbilitySystemGlobals<br>GlobalGameplayCueManagerClass=\/Script\/KaosGASUtilities.KaosGameplayCueManager<br>PredictTargetGameplayEffects=false<br>bUseDebugTargetFromHud=true<br>ActivateFailIsDeadName=AbilityActivate.Fail.IsDead<br>ActivateFailCooldownName=AbilityActivate.Fail.Cooldown<br>ActivateFailCostName=AbilityActivate.Fail.Cost<br>ActivateFailTagsBlockedName=AbilityActivate.Fail.TagsBlocked<br>ActivateFailTagsMissingName=AbilityActivate.Fail.TagsMissing<br>ActivateFailNetworkingName=AbilityActivate.Fail.Networking<br>+GameplayCueNotifyPaths=\/Game\/GameplayCueNotifies<br>+GameplayCueNotifyPaths=\/Game\/GameplayCues<br>+GameplayCueNotifyPaths=\/Game\/Abilities<\/pre>\n\n\n\n<p>Of course, if you did not subclass the abilitysystem globals, you can use the one from the plugin directly:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: Relevant Code:; notranslate\" title=\"Relevant Code:\">\nAbilitySystemGlobalsClassName=\/Script\/KaosGASUtilities.KaosAbilitySystemGlobals\n<\/pre><\/div>\n\n\n<p>6. Restart the editor and you should be now fully up and running with the plugin.<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>2. Core Features<\/strong><\/p>\n\n\n\n<p>The core features of the plugin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Extra exposed functions for Gameplay Ability System via KaosAbilitySystemComponent<\/li>\n\n\n\n<li>Modified Attribute Initter to support Primary with Secondary Category<\/li>\n\n\n\n<li>AbilityCosts to allow for additional costs for an ability<\/li>\n\n\n\n<li>Async Tasks to help with Gameplay Abilities and improve usability<\/li>\n\n\n\n<li>Behaviour Tree Tasks, Decorators and Services to help interface with Gameplay Abilities<\/li>\n\n\n\n<li>Custom Targeting stuff for the Targeting System plugin<\/li>\n\n\n\n<li>Ability Gameplay Tag relationship table to help with managing ability tags with blocking, activation and requirements.<\/li>\n\n\n\n<li>Gameplay Ability Set to help organise and provide a nice way to add\/remove abilities and gameplay effects from a player\/ai\/actor.<\/li>\n\n\n\n<li>Animation Notifies to help interface with the Gameplay Abilities system.<\/li>\n\n\n\n<li>Some Math functions for common Math related stuff<\/li>\n\n\n\n<li>Some blueprint exposed statics for dealing with AI and AI Teams<\/li>\n\n\n\n<li>Some statics to help with Gameplay Cues<\/li>\n\n\n\n<li>Some blueprint exposed statics to help with Gameplay Ability system.<\/li>\n\n\n\n<li>More to come soon. Plugin is very WIP.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This is the basic WIP documentation for the Kaos GAS Utilities plugin. 1.Download the plugin from Github: https:\/\/github.com\/KaosSpectrum\/KaosGASUtilities and place in YourProject\/Plugins\/ folder.2.Add the plugin to your build.cs file (if you plan to extend or use the plugin in code, highly recommended) I added the recommended ones for using ability system also. 3. Add the <a href=\"https:\/\/www.thegames.dev\/?page_id=262\" class=\"more-link\">&#8230;<span class=\"screen-reader-text\">  Kaos Gameplay and System Utilities<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-262","page","type-page","status-publish","hentry"],"rise-blocks_excerpt":"This is the basic WIP documentation for the Kaos GAS Utilities plugin. 1.Download the plugin from Github: https:\/\/github.com\/KaosSpectrum\/KaosGASUtilities and place in YourProject\/Plugins\/ folder.2.Add the plugin to your build.cs file (if you plan to extend or use the plugin in code, highly recommended) I added the recommended ones for using ability system also. 3. Add the plugin in your project uproject...","_links":{"self":[{"href":"https:\/\/www.thegames.dev\/index.php?rest_route=\/wp\/v2\/pages\/262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thegames.dev\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.thegames.dev\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.thegames.dev\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thegames.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=262"}],"version-history":[{"count":3,"href":"https:\/\/www.thegames.dev\/index.php?rest_route=\/wp\/v2\/pages\/262\/revisions"}],"predecessor-version":[{"id":265,"href":"https:\/\/www.thegames.dev\/index.php?rest_route=\/wp\/v2\/pages\/262\/revisions\/265"}],"wp:attachment":[{"href":"https:\/\/www.thegames.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}