Skip to content

SusUnitNameplate

SusUnitNameplate

World-ready nameplate — faction bar, icon, name / level, optional HP; can auto-bind from a unit Transform.

Package

SusKit · World (commercial)

Open in Playground

SusKit · World

Props

NameTypeDefault
UnitNameProp<string>""v-model
LevelProp<int>0v-model
FactionProp<string>""v-model
IconProp<string>""v-model
HpFractionProp<float>1fv-model
ShowHealthBarProp<bool>falsev-model
TargetProp<Transform>nullv-model
AutoBindProp<bool>truev-model

Slots

No slots.

Events

No public events.

Style hooks

USS class contract — override appearance without touching C#. States toggle via these classes:

  • sus-unit-nameplate
  • sus-unit-nameplate__content
  • sus-unit-nameplate__faction
  • sus-unit-nameplate__faction--ally
  • sus-unit-nameplate__faction--enemy
  • sus-unit-nameplate__faction--neutral
  • sus-unit-nameplate__hp
  • sus-unit-nameplate__hp-fill
  • sus-unit-nameplate__hp-fill--critical
  • sus-unit-nameplate__hp-fill--warning
  • sus-unit-nameplate__icon
  • sus-unit-nameplate__level
  • sus-unit-nameplate__name
  • sus-unit-nameplate__plate
  • sus-unit-nameplate__row

Usage

Manual props (Storybook default — AutoBind=false):

csharp
var unit = new SusUnitNameplate();
unit.UnitName.Value = "Captain";
unit.Level.Value = 12;
unit.Faction.Value = "ally";
unit.Icon.Value = "shield";
unit.HpFraction.Value = 0.55f;
unit.ShowHealthBar.Value = true;
unit.AutoBind.Value = false;
xml
<template>
  <sus:SusUnitNameplate :UnitName="Name.Value"
                        :Level="Level.Value"
                        :Faction="Faction.Value"
                        :Icon="Icon.Value"
                        :HpFraction="Hp.Value"
                        :ShowHealthBar="ShowHp.Value"
                        :AutoBind="AutoBind.Value" />
</template>

<script>
public Prop<string> Name = new("Captain");
public Prop<int> Level = new(12);
public Prop<string> Faction = new("ally");
public Prop<string> Icon = new("shield");
public Prop<float> Hp = new(0.55f);
public Prop<bool> ShowHp = new(true);
public Prop<bool> AutoBind = new(false);
// Optional: assign Target (Transform) + AutoBind=true to pull IWorldUnit* data.
</script>
PropRole
UnitName / Level / IconIdentity row
Factionally · enemy · neutral (faction bar color)
HpFractionHP fill 0…1
ShowHealthBarToggle HP strip visibility
TargetUnit Transform for auto-bind
AutoBindWhen true + Target set, sync from IWorldUnit*

Notes

  • Richer than SusNameplate: built-in faction bar + icon; optional Transform bind.
  • HP bar stays in the DOM; visibility is toggled via ShowHealthBar.