{"id":550,"date":"2026-06-04T19:58:01","date_gmt":"2026-06-04T19:58:01","guid":{"rendered":"https:\/\/rivals2.com\/workshop-dev\/?post_type=knowledgebase&#038;p=550"},"modified":"2026-06-11T18:11:16","modified_gmt":"2026-06-11T18:11:16","slug":"setting-up-an-attack","status":"publish","type":"knowledgebase","link":"https:\/\/rivals2.com\/workshop\/knowledge-base\/character-creation\/setting-up-an-attack\/","title":{"rendered":"Setting up an Attack"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>Attack Data Asset<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When you create a character, Attack Data assets are automatically generated and placed in the character\u2019s Attacks folder. For modded characters, this is <strong>Content\/ModContent\/[ModID]\/UnrealAssets\/Attacks<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Attack Data file names start with the <strong>ATT_ <\/strong>prefix.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To edit the properties for an attack, open the specific ATT_ file for the attack you want to work on. For example, to modify ClairenLua\u2019s Back Air attack, go to <strong>Content\/ModContent\/3520423817\/UnrealAssets\/Attacks<\/strong> and open <strong>ATT_ClaLua_BAir<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><br><\/strong><strong>Grounded and Aerial Attacks<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Attacks in Rivals 2 can be performed on the ground or in the air. For aerial attacks, there is an additional animation slot you have to add for the attack\u2019s aerial animation, as well as an optional landing lag animation when the character lands while performing the aerial attack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In addition, each attack also has a <strong>Groundedness <\/strong>value, which defines whether the attack can be performed in the air, on the ground, or both.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note that you do not need to setup aerial animations if your attack is a Ground Only attack.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"320\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-53-1024x320.png\" alt=\"\" class=\"wp-image-553\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-53-1024x320.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-53-300x94.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-53-768x240.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-53.png 1201w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Hitbox Attributes<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Under the <strong>Hitboxes<\/strong> category in the attack data, there is a <strong>Hitbox Attributes<\/strong> list.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To add attributes for a new hitbox, click the + icon next to <strong>Hitbox Attributes<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"173\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-55-1024x173.png\" alt=\"\" class=\"wp-image-555\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-55-1024x173.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-55-300x51.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-55-768x130.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-55.png 1390w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Set the <strong>Name<\/strong> of the hitbox to whatever you want. Note that this name will be used in the <strong>Hitbox Windows<\/strong> section to toggle the hitbox while performing an attack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set the <strong>Bone Name<\/strong> to the name of the bone on the character\u2019s skeletal mesh you want the hitbox to be attached to.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"348\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-51-1024x348.png\" alt=\"\" class=\"wp-image-551\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-51-1024x348.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-51-300x102.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-51-768x261.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-51.png 1161w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can set additional properties on the hitbox attributes, such as adding an offset from the attached bone location, radius of the hitbox, and the name of a set of on hit properties.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">On Hit Properties<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">You will need to add on hit properties and link a hitbox to them if you want the hitbox to apply knockback on hit, as opposed to grabbing the opponent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To add on hit properties for hitboxes, scroll down to <strong>Hitbox Attributes<\/strong> in the attack data asset, and click the + icon next to it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"206\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-52-1024x206.png\" alt=\"\" class=\"wp-image-552\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-52-1024x206.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-52-300x60.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-52-768x155.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-52.png 1122w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The on hit properties are separated from the hitboxes so that multiple hitboxes can use the same on hit properties without duplicating extra data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For linking hitboxes to on hit properties, you will need to (1) set the <strong>Name<\/strong> of the new entry in the Hitbox On Hit Properties, and then (2) go back to the <strong>Hitbox Attributes<\/strong> for the hitbox you want to link the properties to, and set the <strong>On Hit Properties Name<\/strong> to the same name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"140\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-58-1024x140.png\" alt=\"\" class=\"wp-image-558\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-58-1024x140.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-58-300x41.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-58-768x105.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-58.png 1029w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">2<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"370\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-59-1024x370.png\" alt=\"\" class=\"wp-image-559\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-59-1024x370.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-59-300x108.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-59-768x277.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-59.png 1168w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Attack Windows<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Each attack has an array of windows, which each define a different phase of the attack as well as how many frames it will last. Attack windows can be chained so that after one attack window finishes, the next one starts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Attack windows are used to define frame timings, cancels into other windows\/attacks, movement data, and hitbox windows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To add a new attack window, click the + icon next to <strong>Windows<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"128\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-54-1024x128.png\" alt=\"\" class=\"wp-image-554\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-54-1024x128.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-54-300x38.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-54-768x96.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-54.png 1204w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Each window has a <strong>String Table Key<\/strong>, which is the name of the attack window. This name must be unique from other attack windows in the same array (so an attack cannot have more than 1 window named <strong>Startup<\/strong>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a very basic attack, you only need 3 windows: <strong>Startup, Active, <\/strong>and <strong>Recovery<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Hitbox Windows<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Each attack window can have a list of hitbox windows, which define when the hitboxes defined in the <strong>Hitbox Attributes<\/strong> become active.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To add a new hitbox window, expand the attack window you wish to add hitboxes to, and then click the + icon next to <strong>Hitbox Windows.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"471\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-56-1024x471.png\" alt=\"\" class=\"wp-image-556\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-56-1024x471.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-56-300x138.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-56-768x353.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-56.png 1229w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Each hitbox window has a Hitbox Name, a Start Frame, and the Length in frames the hitbox is active for.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"156\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-57.png\" alt=\"\" class=\"wp-image-557\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-57.png 975w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-57-300x48.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/06\/image-57-768x123.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Hitbox Name<\/strong> must match the name of a hitbox defined in <strong>Hitbox Attributes<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Start Frame<\/strong> is relative to the current attack window the hitbox window is in, so if you want the hitbox to be enabled at the start of the <strong>Active <\/strong>window for example, and the <strong>Active<\/strong> window starts at frame 8 of the attack animation, then you still set the hitbox window\u2019s <strong>Start Frame<\/strong> to 0. If you want the hitbox to be enabled 3 frames after the start of the window, then set <strong>Start Frame<\/strong> to 3. When <strong>Length in Frames<\/strong> is set to 0, it will cause the hitbox to be active throughout the full duration of the window (while still respecting the <strong>Start Frame<\/strong>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/rivals2.com\/workshop\/knowledge-base\/miscellaneous\/how-to-make-a-rivals-2-attack\/\" data-type=\"knowledgebase\" data-id=\"984\">Click here for more information on Making an Attack<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Attack Data Asset When you create a character, Attack Data assets are automatically generated and placed in the character\u2019s Attacks folder. For modded characters, this is Content\/ModContent\/[ModID]\/UnrealAssets\/Attacks. Attack Data file names start with the ATT_ prefix. To edit the properties for an attack, open the specific ATT_ file for the attack you want to work [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","knowledgebase_cat":[4],"knowledgebase_tag":[],"class_list":["post-550","knowledgebase","type-knowledgebase","status-publish","hentry","knowledgebase_cat-character-creation"],"_links":{"self":[{"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase\/550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase"}],"about":[{"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/types\/knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/comments?post=550"}],"version-history":[{"count":3,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase\/550\/revisions"}],"predecessor-version":[{"id":1418,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase\/550\/revisions\/1418"}],"wp:attachment":[{"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/media?parent=550"}],"wp:term":[{"taxonomy":"knowledgebase_cat","embeddable":true,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase_cat?post=550"},{"taxonomy":"knowledgebase_tag","embeddable":true,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase_tag?post=550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}