RSBDOCS
API reference

BulletDamageProfile

Optional shared gameplay damage data associated with ammunition.

Source: src/Ballistics/BulletDamageProfile.cs. This ScriptableObject is in IE.RSB. Create one with Create → RSB → Bullet Damage Profile, then assign it to a bullet asset's Gameplay Damage → Damage Profile field.

MemberType / accessMeaning
BaseDamagefloat, read-onlyNon-negative base damage in game-defined points; a new profile starts at 25.

Configure Base Damage in the Inspector. Read the profile through BulletProperties.DamageProfile, which is null when no profile is assigned. Hit records retain that bullet asset through BulletPoint.m_properties.

BulletDamageProfile profile = point.m_properties != null
    ? point.m_properties.DamageProfile
    : null;

if (profile != null)
{
    float damage = profile.BaseDamage;
    // Apply game-specific modifiers and pass damage to your health system.
}

The profile supplies data only. The ballistics simulator does not consume it, apply health damage or derive its value from kinetic energy. Armor, body-part multipliers, falloff and damage deduplication are game logic. See Ammunition damage for a complete hit listener.

Profiles may be shared by several bullet assets. Their values are not frozen when a shot fires; changing an asset can affect in-flight shots. The class is not sealed, so you can derive a profile with additional metadata. If you override OnValidate, call the base implementation to retain its non-negative damage validation.