PageSourceSearch

https://elmarathstudio.netlify.app/assets/js/7f2aabbe.21fbec36.js

js elmarathstudio.netlify.app collected 2026-10-03 10:41:55 UTC 13,461 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[2501],{2499:(e,i,t)=>{t.d(i,{A:()=>s});const s=t.p+"assets/images/T_DynamicInputSystemThumbanil-9c7851a4088f539fcaeee5ba4ce6fd52.png"},8516:(e,i,t)=>{t.d(i,{A:()=>s});const s=t.p+"assets/images/T_EasyAbilitySetSystem_Logo-a3d2776b41f405833c0fede2397ff5b1.png"},10968:(e,i,t)=>{t.d(i,{J:()=>n,u:()=>a});var s=t(25901);const n=[{id:"StagedInteractionSystem",title:"Staged Interaction System",Img:t(33037).A,description:"Staged Interaction System that uses stages as a way to create complex player interactions with ease.",DocLink:"docs/Staged-Interaction-System/Overview",FabLink:"https://www.fab.com/listings/ea6cda8e-25b1-434e-a9ab-1c2bbaa5fe67"},{id:"EasyTraceTrailSystem",title:"Easy Trace-Trail System",Img:t(45155).A,description:"A modular, optimized solution for easily controlling and extending hit results from continuous hit trails.",DocLink:"/docs/Easy-Trace-Trail-System/EasyTraceTrailSystem",FabLink:"https://www.fab.com/listings/86d9af14-9ab3-4c47-83b2-96eb6a4b5957"},{title:"Ability Queue Task System",Img:t(67886).A,description:"Extension of Epic's Gameplay Ability System. Enables queueable abilities with priority-based activation.",DocLink:"/docs/Ability-Queue-Task-System/Overview",FabLink:"https://www.fab.com/listings/554398ff-338b-43da-bf43-b081ef166b92"},{title:"Nested Inventory Architecture",Img:t(67378).A,description:"Create customizable, nested, section-based, object-oriented inventory systems for intuitive gameplay.",DocLink:"/docs/Nested-Invnetory-Architecture/AboutNestedInventoryArchitecture",FabLink:"https://www.fab.com/listings/320f157f-9241-47ee-9f32-63aaf744f509"},{title:"Modular Action System",Img:t(60229).A,description:"A modular, data-driven action system for games. Network-ready and easy to customize.",DocLink:"/docs/Modular-Action-System/About-Modular-Action-System",FabLink:"https://www.fab.com/listings/6ef3ecaa-1a2f-4056-a209-cf228df40c3f"},{title:"Easy Skeletal Mesh Merge Async",Img:t(88612).A,description:"A simple and optimized workflow to create modular characters via skele merging.",DocLink:"/docs/Easy-Skeletal-Mesh-Merge-Async/EasySkeletalMeshMergeAsync",FabLink:"https://www.fab.com/listings/616906a0-c73d-4e7a-9002-866a6d9751d5",GitHubLink:"https://github.com/Elmarath/EasySkeletalMeshMergeAsync"},{title:"Easy Ability Set System",Img:t(8516).A,description:"Ability Set Management System that handles both granting and input binding for Gameplay Ability System.",DocLink:"/docs/Easy-Ability-Set-System/EasyAbilitySetSystemStartup",FabLink:"https://www.fab.com/sellers/Elmarath"},{title:"Dynamic Input System",Img:t(2499).A,description:"A flexible, runtime input management system that allows dynamic binding and modification of input mappings during gameplay.",DocLink:"/docs/Dynamic-Input-System/DynamicInputSystem",GitHubLink:"https://www.fab.com/listings/cdf2ad8e-b9b7-4b4e-87bb-fdcfbe3c3b2b",FabLink:"https://www.fab.com/listings/cdf2ad8e-b9b7-4b4e-87bb-fdcfbe3c3b2b"}],a=[{id:"email",label:"Email",value:s.ku.email,link:`mailto:${s.ku.email}`,icon:"mail",action:"link"},{id:"resume",label:"Resume/CV",value:"View my professional CV",link:"/docs/DenizhanToprak_Resume.pdf",icon:"resume",action:"resume"},{id:"linkedin",label:"LinkedIn",value:"Connect with me on LinkedIn",link:s.ku.linkedinUrl,icon:"linkedin",action:"external"},{id:"github",label:"GitHub Profile",value:"View all my projects",link:s.ku.githubUrl,icon:"github",action:"external"},{id:"blog",label:"About Me Blog",value:"Read my personal story and journey",link:s.ku.blogPath,icon:"blog",action:"navigate"}]},25901:(e,i,t)=>{t.d(i,{ku:()=>s});const s={name:"Denizhan Toprak",title:"C++ Gameplay Programmer",email:"[email protected]",github:"https://github.com/elmarath",githubUrl:"https://github.com/elmarath",linkedin:"https://www.linkedin.com/in/denizhan-toprak-006073193/",linkedinUrl:"https://www.linkedin.com/in/denizhan-toprak-006073193/",resume:"https://docs.google.com/document/d/1NyO2H-jLeTuhU76wPoMm6xU3kDFCQn3Dn-A5imPmtfA/edit?tab=t.0",resumeUrl:"https://docs.google.com/document/d/1NyO2H-jLeTuhU76wPoMm6xU3kDFCQn3Dn-A5imPmtfA/edit?tab=t.0",avatar:"https://avatars.githubusercontent.com/u/65414809?v=4",description:"Unreal Engine C++ Developer. Creator of this platform and it's listed tools. Let's connect!",blogPath:"/blog/About Me"}},28453:(e,i,t)=>{t.d(i,{R:()=>l,x:()=>o});var s=t(96540);const n={},a=s.createContext(n);function l(e){const i=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(a.Provider,{value:i},e.children)}},33037:(e,i,t)=>{t.d(i,{A:()=>s});const s=t.p+"assets/images/T_StagedInteractionThumbnail-f52c7615a1914b0a177bf067ac5236f8.png"},45155:(e,i,t)=>{t.d(i,{A:()=>s});const s=t.p+"assets/images/T_EasyTraceTrailSystemThumbnail-4b9937a81de461b0f69e6d4907adc5b7.png"},51519:(e,i,t)=>{t.d(i,{A:()=>s});const s={pluginLinksContainer:"pluginLinksContainer_Xbps",linksTitle:"linksTitle_v6Hv",linksGrid:"linksGrid_l5Uu",linkButton:"linkButton_FFVW",linkIcon:"linkIcon_j8va",docsButton:"docsButton_y6Gg",fabButton:"fabButton_l3ky",githubButton:"githubButton_eyFH"}},60229:(e,i,t)=>{t.d(i,{A:()=>s});
1const s=t.p+"assets/images/T_ModularActionSystemLogo-8f65d3ec08ebf7cac0efeb4e8a2e5f96.png"},62260:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"Ability-Queue-Task-System/Overview","title":"Overview of Ability Queue Task System","description":"Video Overview","source":"@site/docs/Ability-Queue-Task-System/Overview.md","sourceDirName":"Ability-Queue-Task-System","slug":"/Ability-Queue-Task-System/Overview","permalink":"/docs/Ability-Queue-Task-System/Overview","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Ability Queue Task System","permalink":"/docs/category/ability-queue-task-system"},"next":{"title":"Startup","permalink":"/docs/Ability-Queue-Task-System/Startup"}}');var n=t(74848),a=t(28453),l=t(85843);const o={sidebar_position:1},r="Overview of Ability Queue Task System",c={},d=[{value:"Video Overview",id:"video-overview",level:2},{value:"Description",id:"description",level:3},{value:"\u2b50 Key Benefits",id:"-key-benefits",level:2},{value:"\ud83c\udfae Typical Use Cases",id:"-typical-use-cases",level:2},{value:"\ud83d\udd17 Dependencies",id:"-dependencies",level:2}];function u(e){const i={a:"a",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.header,{children:(0,n.jsx)(i.h1,{id:"overview-of-ability-queue-task-system",children:"Overview of Ability Queue Task System"})}),"\n",(0,n.jsx)(l.A,{pluginId:"Ability-Queue-Task-System"}),"\n",(0,n.jsx)(i.h2,{id:"video-overview",children:"Video Overview"}),"\n",(0,n.jsxs)(i.p,{children:["Watch this comprehensive tutorial to see ",(0,n.jsx)(i.strong,{children:"Ability Queue Task System"})," in action:"]}),"\n",(0,n.jsx)("iframe",{width:"100%",height:"400",src:"https://www.youtube.com/embed/dR8Dbne-xe4?si=NVVr4-hXaMqeCbs7",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:!0}),"\n",(0,n.jsx)(i.p,{children:(0,n.jsx)(i.em,{children:"This video demonstrates the complete workflow from setup to implementation."})}),"\n",(0,n.jsx)(i.h3,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(i.p,{children:[(0,n.jsx)(i.strong,{children:"Ability Queue Task System"})," is a powerful Unreal Engine plugin built on top of Epic's Gameplay Ability System (GAS). It enables abilities to play one after another based on how they are activated: inputs, gameplay events, class-based triggers, and more."]}),"\n",(0,n.jsx)(i.p,{children:"By assigning abilities to states, each with its own priority, the system lets you create highly modular ability behaviors:"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.strong,{children:"Higher-priority abilities can interrupt lower-priority ones"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.strong,{children:"Ability priority can change dynamically by switching states"})}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.strong,{children:"Abilities naturally chain into fluid sequences"})}),"\n"]}),"\n",(0,n.jsx)(i.p,{children:'Best of all, the plugin is non-destructive: it works with your existing ability classes. No custom GAS classes required. Just add the "Add to Queue" task to your abilities and the system handles the rest.'}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h2,{id:"-key-benefits",children:"\u2b50 Key Benefits"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"Queue-based action ability playback"})," for smooth transitions"]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"Fully compatible"})," with standard Gameplay Ability System"]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"Priority-per-state logic"})," for dynamic control"]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"Abilities, not inputs, enter the queue"})," \u2192 context-sensitive results"]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"Network tested"})," and ready for multiplayer"]}),"\n",(0,n.jsx)(i.li,{children:(0,n.jsx)(i.strong,{children:"Lightweight, modular, and easy to integrate"})}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"Debug tools included"})," to visualize queues and states"]}),"\n"]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h2,{id:"-typical-use-cases",children:"\ud83c\udfae Typical Use Cases"}),"\n",(0,n.jsxs)(i.ul,{children:["\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"Souls-Like fluid action transitions"})," - Chain abilities seamlessly for responsive combat"]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"No input loss for Players or AI"})," - If the current ability doesn't allow the input ability, the input ability will try to activate itself inside the queue window, making player inputs much more responsive"]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"Ability Combos"})," - Create complex combo systems with priority-based activation"]}),"\n",(0,n.jsxs)(i.li,{children:[(0,n.jsx)(i.strong,{children:"AI input handling"})," - AI can press inputs to activate/queue their abilities, just like how players do"]}),"\n"]}),"\n",(0,n.jsx)(i.hr,{}),"\n",(0,n.jsx)(i.h2,{id:"-dependencies",children:"\ud83d\udd17 Dependencies"}),"\n",(0,n.jsxs)(i.p,{children:["This plugin requires the ",(0,n.jsx)(i.a,{href:"https://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-ability-system-for-unreal-engine",children:"GameplayAbilities"})," module to be enabled in your project."]})]})}function m(e={}){const{wrapper:i}={...(0,a.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},67378:(e,i,t)=>{t.d(i,{A:()=>s});
1const s=t.p+"assets/images/T_NIA_Thumbnail-88027eb5cb699b50479f5d97e32f4ec9.png"},67886:(e,i,t)=>{t.d(i,{A:()=>s});const s=t.p+"assets/images/T_AbilityQueueTaskSystemThumbnail-5f7d91c59f3881b0d5809c82cb6e6f83.png"},85843:(e,i,t)=>{t.d(i,{A:()=>l});t(96540);var s=t(10968),n=t(51519),a=t(74848);const l=({pluginId:e})=>{const i=s.J.find((i=>i.DocLink.includes(e)||i.title.toLowerCase().includes(e.toLowerCase())));return i?(0,a.jsxs)("div",{className:n.A.pluginLinksContainer,children:[(0,a.jsx)("h3",{className:n.A.linksTitle,children:"Quick Links"}),(0,a.jsxs)("div",{className:n.A.linksGrid,children:[i.FabLink&&(0,a.jsxs)("a",{href:i.FabLink,target:"_blank",rel:"noopener noreferrer",className:`${n.A.linkButton} ${n.A.fabButton}`,title:"View on Fab",children:[(0,a.jsx)("img",{src:"/img/T_Epic_Games_Fab_2024_icon.svg",alt:"Fab",className:n.A.linkIcon}),(0,a.jsx)("span",{children:"Fab"})]}),i.GitHubLink&&(0,a.jsxs)("a",{href:i.GitHubLink,target:"_blank",rel:"noopener noreferrer",className:`${n.A.linkButton} ${n.A.githubButton}`,title:"View on GitHub",children:[(0,a.jsx)("svg",{className:n.A.linkIcon,viewBox:"0 0 24 24",fill:"currentColor",children:(0,a.jsx)("path",{d:"M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z"})}),(0,a.jsx)("span",{children:"GitHub"})]})]})]}):null}},88612:(e,i,t)=>{t.d(i,{A:()=>s});const s=t.p+"assets/images/EasySkeletalMeshMergeAsync-f341c8b592d95242c5ff7171ba714117.png"}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.