Modding with Unlimiter - nlgxzef/NFSMWUnlimiter GitHub Wiki

In this section, you will find some key points to build mods which utilize Unlimiter's features.

Configuration

Car-specific configuration is done through CARNAME.ini and _General.ini.

  • _General.ini contains the default values and used for cars without any configuration.
  • CARNAME.ini is specific to the car that shares its name with.
  • To start, just copy _General.ini as CARNAME.ini and modify the options as you want.
  • Or you can start with an empty file and add the sections and options you need manually.

Part Attributes

NFSMW Unlimiter adds a bunch of part attributes (vanilla and custom) to allow more customization for your cars. Modders can add attributes to their parts via Binary's Modder Mode.

Attributes marked with a + are custom and should get added by using Add Custom Attribute feature of Binary.

Attributes you can add to the majority of car parts

Attribute Name Custom? Type Description Example
TEXTUREHASH Key Sets a custom menu icon for the part. Allows texture names. VISUAL_PART_NLGXZEF
COST + Integer Sets the cost of the part for career mode. 1337
UNLOCK_TYPE + Integer Sets the unlock method of a part. Works the same way as Bonus Cars Hook. 5 (Complete the career mode at least once.)
UNLOCK_AT + Integer Sets the blacklist rival to beat to unlock a part. Only works with UNLOCK_TYPE set to 1. 12 (Izzy)
UNLOCK_HASH + Key Sets a custom string to describe the unlock condition to the player. Allows string labels. CUSTOMIZATION_PARTS_BODYKITS_6

You need to add these attributes to the very first part if you want to use them with paired parts. (LEFT_HEADLIGHT, LEFT_BRAKELIGHT, LEFT_SIDE_MIRROR, etc.)


Attributes you can add to specific car parts

Body Kits (BODY)

These attributes are useful if you want to use different values per body kit instead of the fixed values in Global\Attributes.bin > ecar > carname.

Attribute Name Custom? Type Description Example
FRONT_TIRE_OFFSET + Floating Adds offset (like spacers) to the front wheels. [meters] 0.025
REAR_TIRE_OFFSET + Floating Adds offset (like spacers) to the rear wheels. [meters] 0.05
FRONT_TIRE_WIDTH + Floating Sets the tread width of the front wheels. [meters] 0.225
REAR_TIRE_WIDTH + Floating Sets the tread width of the rear wheels. [meters] 0.275
FRONT_TIRE_RADIUS + Floating Sets the radius of the front wheels. [meters] 0.36
REAR_TIRE_RADIUS + Floating Sets the radius of the rear wheels. [meters] 0.39
FRONT_CAMBER + Floating Sets the vertical angle of the front wheels. 0.5
REAR_CAMBER + Floating Sets the vertical angle of the rear wheels. 1.0
FRONT_FECOMPRESSION + Floating Sets the compression of the front springs in menus (frontend). 0.15
REAR_FECOMPRESSION + Floating Sets the compression of the rear springs in menus (frontend). 0.2
RIDE_HEIGHT + Floating Sets the height of the car. (Overrides the RIDE_HEIGHT value from ecar) -0.5
EXTRA_PITCH + Floating Sets the pitch of the car. Positive values tilt the car to the front, negative ones tilt it to the rear. [degrees] 1.5
EXTRA_REAR_TIRE_OFFSET + Floating If non-zero, renders an extra set of rear wheels to add a virtual axle like trucks. [meters] 0.93
REFLECTION_OFFSET + Floating Sets the reflection offset of the car in menus (frontend). -0.03

Interior (INTERIOR)

Interior parts can replace the CARNAME_INTERIOR texture with anything else.

Attribute Name Custom? Type Description Example
TEXTURE_NAME Key Sets the texture to replace the one used for the interior. Its normal map will also get replaced. CARNAME_STYLE03_INTERIOR

Attachments (ATTACHMENT0-9)

Since Unlimiter v4, attachments can be used to add wheel offsets and replace textures using the general texture replacement table of a car (utilized by most of the parts).

Attribute Name Custom? Type Description Example
FRONT_TIRE_OFFSET + Floating Adds offset (like spacers) to the front wheels. Adds up with Body Kits and other attachments. [meters] 0.005
REAR_TIRE_OFFSET + Floating Adds offset (like spacers) to the rear wheels. Adds up with Body Kits and other attachments. [meters] 0.01
TEXTURE_NAME_OLD + Key Sets a texture to get replaced when this part is installed. Also replaces normal map of the same texture for the first 5 attachment slots. (ATTACHMENT0-4) CARNAME_MISC
TEXTURE_NAME Key Sets the texture to replace the one specified with TEXTURE_NAME_OLD. CARNAME_STYLE03_MISC

Left Taillights (LEFT_BRAKELIGHT)

Attribute Name Custom? Type Description Example
RED Integer Sets the red amount of the flare color for LEFT_BRAKELIGHT position marker. [0-255] 65
GREEN Integer Sets the green amount of the flare color for LEFT_BRAKELIGHT position marker. [0-255] 120
BLUE Integer Sets the blue amount of the flare color for LEFT_BRAKELIGHT position marker. [0-255] 84
RED2 Integer Sets the red amount of the flare color for LEFT_REVERSE position marker. [0-255] 10
GREEN2 Integer Sets the green amount of the flare color for LEFT_REVERSE position marker. [0-255] 120
BLUE2 Integer Sets the blue amount of the flare color for LEFT_REVERSE position marker. [0-255] 180
DISPRED Integer Sets the red amount of the flare color for CENTRE_BRAKELIGHT position marker. [0-255] 65
DISPGREEN Integer Sets the green amount of the flare color for CENTRE_BRAKELIGHT position marker. [0-255] 120
DISPBLUE Integer Sets the blue amount of the flare color for CENTRE_BRAKELIGHT position marker. [0-255] 84
TEXTURE_NAME Key Sets the texture used for this style of taillights. CARNAME prefix is required while state (ON/OFF/ONF/DAMAGE0) and GLASS suffixes aren't. This texture is mapped to any part via BRAKELIGHT_LEFT and BRAKELIGHT_RIGHT dynamic texture names while converting the car to allow switching between states. CARNAME_STYLE02_BRAKELIGHT
TEXTURE_NAME_REVERSE + Key Sets the texture used by reverse lights. If not enabled in car's config file, the game will keep using the brakelight texture and dynamic switching will not work. If not set, the game will use the default name (CARNAME_REVERSE_ON/OFF/DAMAGE0). This texture is mapped to any part via REVERSE_LEFT and REVERSE_RIGHT dynamic texture names while converting the car to allow switching between states. CARNAME_STYLE02_REVERSE
TEXTURE_NAME_CENTRE + Key Sets the texture used by centre brakelight. If not enabled in car's config file, the game will keep using the brakelight texture. If not set, the game will use the default name (CARNAME_CENTRE_BRAKELIGHT_ON/OFF/DAMAGE0). This texture is mapped to any part via BRAKELIGHT_CENTRE dynamic texture name while converting the car to allow switching between states. CARNAME_STYLE02_CENTRE_BRAKELIGHT

Right Taillights (RIGHT_BRAKELIGHT)

You don't need to add these attributes if you want to use the same colors as the left brakelight.

Attribute Name Custom? Type Description Example
RED Integer Sets the red amount of the flare color for RIGHT_BRAKELIGHT position marker. [0-255] 65
GREEN Integer Sets the green amount of the flare color for RIGHT_BRAKELIGHT position marker. [0-255] 120
BLUE Integer Sets the blue amount of the flare color for RIGHT_BRAKELIGHT position marker. [0-255] 84
RED2 Integer Sets the red amount of the flare color for RIGHT_REVERSE position marker. [0-255] 10
GREEN2 Integer Sets the green amount of the flare color for RIGHT_REVERSE position marker. [0-255] 120
BLUE2 Integer Sets the blue amount of the flare color for RIGHT_REVERSE position marker. [0-255] 180

Left Headlights (LEFT_HEADLIGHT)

Attribute Name Custom? Type Description Example
RED Integer Sets the red amount of the flare color for LEFT_HEADLIGHT position marker. [0-255] 180
GREEN Integer Sets the green amount of the flare color for LEFT_HEADLIGHT position marker. [0-255] 60
BLUE Integer Sets the blue amount of the flare color for LEFT_HEADLIGHT position marker. [0-255] 40
DISPRED Integer Sets the red amount of the flare color for CENTRE_HEADLIGHT position marker. [0-255] 90
DISPGREEN Integer Sets the green amount of the flare color for CENTRE_HEADLIGHT position marker. [0-255] 30
DISPBLUE Integer Sets the blue amount of the flare color for CENTRE_HEADLIGHT position marker. [0-255] 20
US_PARKING_LIGHTS + Boolean Forces front signals (FRONT_LEFT/RIGHT_SIGNAL) on with headlights. They will still blink when they are used as turn signals / hazard lights. True

Right Headlights (RIGHT_HEADLIGHT)

You don't need to add these attributes if you want to use the same colors as the left headlights.

Attribute Name Custom? Type Description Example
RED Integer Sets the red amount of the flare color for RIGHT_HEADLIGHT position marker. [0-255] 180
GREEN Integer Sets the green amount of the flare color for RIGHT_HEADLIGHT position marker. [0-255] 60
BLUE Integer Sets the blue amount of the flare color for RIGHT_HEADLIGHT position marker. [0-255] 40

Neon (BRAKELIGHT)

If any of the secondary color values are different, the neon will have a pulse like in NFS Underground 2.

Attribute Name Custom? Type Description Example
RED Integer Sets the red amount of the neon color. [0-255] 120
GREEN Integer Sets the green amount of the neon color. [0-255] 0
BLUE Integer Sets the blue amount of the neon color. [0-255] 120
ALPHA Integer Sets the opacity of the neon. [0-64] 64
RED2 Integer Sets the secondary red amount of the neon color. [0-255] 120
GREEN2 Integer Sets the secondary green amount of the neon color. [0-255] 0
BLUE2 Integer Sets the secondary blue amount of the neon color. [0-255] 120
ALPHA2 Integer Sets the secondary opacity of the neon. [0-64] 16
TEXTURE_NAME Key Sets a custom neon texture to use. If not set, CARSHADOW_NEON is used as neon and CARSHADOW_NEON_CUT is used as the static car shadow. CARSHAOW_NEON_LED

Rims (FRONT_WHEEL)

Attribute Name Custom? Type Description Example
LANGUAGEHASH Key Sets the name of the rim. If not set, the debug name will get used. PN_RIM_OEM_STEELIE
REAR + Boolean Configures the part as a seperate model for rear rim and hides it from the menu. True
SCALE + Boolean Rescales the brakes according to the inner radius of the rim. False

Brakes (FRONT/REAR_BRAKE)

Attribute Name Custom? Type Description Example
SCALE + Boolean Rescales the brakes according to the inner radius of the rim. False

Vinyls (VINYL_LAYER0)

Attribute Name Custom? Type Description Example
COLOR0LANGUAGEHASH Key Replaces Color 1/X text while painting the vinyl. VINYL_COLOR_FILL
COLOR1LANGUAGEHASH Key Replaces Color 2/X text while painting the vinyl. VINYL_COLOR_OUTLINE
COLOR2LANGUAGEHASH Key Replaces Color 3/X text while painting the vinyl. VINYL_COLOR_DETAILS
COLOR3LANGUAGEHASH Key Replaces Color 4/4 text while painting the vinyl. VINYL_COLOR_EXTRA

Decals (DECAL_FRONT/REAR_WINDOW_WIDE_MEDIUM, DECAL_LEFT/RIGHT_DOOR/QUARTER_RECT_MEDIUM)

Attribute Name Custom? Type Description Example
NUM_DECALS Integer Declares number of slots to install decals onto this decal dummy part. If not set, it's 1 for windows and quarter panels and 6 for doors. 4