Skip to main content

Overview

The Ultimate mode is designed for Super Smash Bros. Ultimate with coordinates optimized for the game’s mechanics. It features dedicated tilt attack angles, precise Up-B angles, shield tilt support, and wider analog ranges compared to Melee modes.
Created by Taker

Constructor

Ultimate()
Creates a new Ultimate mode instance with default settings.
return
Ultimate
A new mode instance ready for use

Button Layout

Digital Outputs

Action Buttons

  • A: RT1
  • B: RF1
  • X: RF2
  • Y: RF6
  • L: RF7 (shoulder button)
  • R: RF3 or RF8 (two buttons map to R)
  • ZL: LF4
  • ZR: RF5
  • Start (+): MB1
  • Select (-): MB3
  • Home: MB2
Both RF3 and RF8 map to the R button, providing flexibility in button placement.

Directional Inputs

Movement

  • Left: LF3
  • Right: LF1
  • Down: LF2
  • Up: RF4

C-Stick

  • C-Left: RT3
  • C-Right: RT5
  • C-Down: RT2
  • C-Up: RT4

Modifiers

Modifier Buttons

  • Mod X: LT1
  • Mod Y: LT2

D-Pad Layer

Activate by holding Mod X + Mod Y or Nunchuk C:
  • D-Up: RT4
  • D-Down: RT2
  • D-Left: RT3
  • D-Right: RT5
When the D-Pad layer is active, C-stick inputs are disabled.

Analog Stick Range

Extended Range

Ultimate uses the same wide analog stick range as Project M:
  • Minimum: 28
  • Neutral: 128
  • Maximum: 228
This provides 100 units of travel in each direction.

Modifier Coordinates

Mod X (LT1)

InputCoordinatesOffsetUsage
MX + Left/Right128 ± 5353Walk/tilt
MX + Left/Right + Shield128 ± 5151Shield tilt
MX + Left/Right + A128 ± 3636Horizontal tilts
MX + Up/Down128 ± 4444Vertical positioning
MX + Up/Down + Shield128 ± 5151Vertical shield tilt

Mod Y (LT2)

InputCoordinatesOffsetUsage
MY + Left/Right128 ± 4141Walk
MY + Left/Right + A128 ± 3636Horizontal tilts
MY + Up/Down128 ± 5353Vertical
MY + Up/Down + A128 ± 3636Vertical tilts

Default Coordinates

No Modifiers

InputCoordinatesOffsetUsage
Cardinal128 ± 100100Full range
Diagonal(100, 100)100All quadrants

Special Features

SOCD Configuration

Ultimate requires 2IP (2-Input Priority) for all directional pairs:
  • Left/Right (LF3/LF1) - SOCD_2IP
  • Down/Up (LF2/RF4) - SOCD_2IP
  • C-Left/C-Right (RT3/RT5) - SOCD_2IP
  • C-Down/C-Up (RT2/RT4) - SOCD_2IP
This is different from Melee modes which use 2IP No Reactivation.

Tilt Attack System

Ultimate mode includes dedicated support for tilt attacks:

Tilt Inputs

ModifierDirectionA ButtonResult
MXLeft/RightYesF-Tilt (36 offset)
MXDiagonalYesAngled F-Tilt (36, 26)
MYLeft/RightYesF-Tilt (36 offset)
MYUp/DownYesU-Tilt/D-Tilt (36 offset)
MYDiagonalYesPivot Tilt (34, 38)

Shield Tilt Support

Shield Tilting

When holding ZL (LF4) or ZR (RF5):
ModifierDirectionCoordinatesUsage
MXHorizontal(51, 0)Horizontal shield tilt
MXVertical(0, 51)Vertical shield tilt
MXDiagonal(51, 30)Airdodge angle
MYDiagonal Q1/2(38, 70)Upper shield tilt
MYDiagonal Q3/4(40, 68)Lower shield tilt

C-Stick ASDI Slideoff

With diagonal C-stick input (any combination):
  • Coordinates: (42, 68)
  • Optimized for SDI and slideoff
  • Overrides angled F-smash modifiers

Analog Triggers

Trigger Values

TriggerConditionAnalog Value
ZL (LF4)Pressed140
ZR (RF5)Pressed140

Nunchuk Support

When a Wii Nunchuk is connected:
  • Analog stick → Overrides left stick completely
  • C button → D-Pad layer activation
  • Z button → No default mapping (Ultimate doesn’t use analog L)

Example Usage

#include "modes/Ultimate.hpp"

// Create mode instance
Ultimate ultimate_mode;

// Configure SOCD (note: uses SOCD_2IP, not SOCD_2IP_NO_REAC)
GameModeConfig config = {
    .mode_id = MODE_ULTIMATE,
    .socd_pairs_count = 4,
    .socd_pairs = {
        SocdPair { .button_dir1 = BTN_LF3, .button_dir2 = BTN_LF1, .socd_type = SOCD_2IP },
        SocdPair { .button_dir1 = BTN_LF2, .button_dir2 = BTN_RF4, .socd_type = SOCD_2IP },
        SocdPair { .button_dir1 = BTN_RT3, .button_dir2 = BTN_RT5, .socd_type = SOCD_2IP },
        SocdPair { .button_dir1 = BTN_RT2, .button_dir2 = BTN_RT4, .socd_type = SOCD_2IP },
    },
};

ultimate_mode.SetConfig(config);

Differences from Melee Modes

Key Differences

FeatureUltimateMelee20Button
SOCD type2IP2IP No Reactivation
Analog range28-228 (±100)48-208 (±80)
Tilt supportDedicated A+modifierLimited
Shield systemZL/ZR (digital)L/R (analog)
Button layoutPro Controller styleGameCube style
R buttonRF3 or RF8RF3 only

Source Code

  • Header: include/modes/Ultimate.hpp
  • Implementation: src/modes/Ultimate.cpp

Build docs developers (and LLMs) love