--- title: "Astra.Components.Character" version: snapshot-2026-10-07 engineGeneration: astra-current language: C# status: semantic-reference reviewedAt: 2026-10-07 appRelease: "0.2.3-preview.20261007" runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-07/api/astra-components-character/ --- # Astra.Components.Character Personagem: Locomoção com cápsula. Família Física 3D · Corpos. **Namespace:** `Astra.Components` · **Assembly:** `Astra.Scripting` · **Tipo:** Struct :::note[Sobre esta referência] Assinaturas extraídas semanticamente com Roslyn/MSBuild. Isso confirma a superfície do código deste snapshot; não comprova execução no Android. As descrições vêm dos comentários da API. Membros sem explicação ainda exigem revisão editorial. ::: ## Declaração ```csharp readonly struct Astra.Components.Character ``` Personagem: Locomoção com cápsula. Família Física 3D · Corpos. Referência estudada: https://docs.unity3d.com/6000.0/Documentation/Manual/class-CharacterController.html **Interfaces:** `Astra.Components.IComponentFacade`. ## Onde acessar este tipo Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Corpos** → **Personagem**. No Behavior em Play, obtenha a fachada com `Object.GetComponent()`; trate null antes de usar. Para outro objeto, resolva uma ObjectReference e consulte nesse objeto. Criar `new Character(component)` envolve um componente existente; não adiciona um componente à cena. ## Roadmap e uso [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/): o membro presente nesta referência pertence ao contrato atual. O roadmap registra a família; não há promessa/data individual de evolução para cada membro. Membros ainda sem explicação especializada são indicados como revisão editorial pendente. Para ler os campos e recursos pelo caminho do editor, use [mapa de acesso](/pt-br/snapshot-2026-10-06/editor/mapa-de-acesso/). Consulte também [Personagem](/pt-br/snapshot-2026-10-07/componentes/astra-physics-character/) para propriedades, valores iniciais, requisitos e edição em Play. ## Membros | Membro | Categoria | |---|---| | [.ctor](#member-a75c148e0a75f221) | Method | | [OnColliderHit](#member-6d1cc0a28e34ff4a) | Method | | [Remove](#member-433ec21fa2c16244) | Method | | [Wrap](#member-955d3ec2708cc01c) | Method | | [Component](#member-bd6571619858feab) | Property | | [ControlPriorityAi](#member-aaff01a357dddaec) | Property | | [ControlPriorityGamepad](#member-4a79142c7ef72cef) | Property | | [ControlPriorityKeyboard](#member-9823f41feb3dfc68) | Property | | [ControlPriorityScript](#member-73bee66d5f454976) | Property | | [ControlPriorityUi](#member-01bddaec6211d786) | Property | | [ControlSource](#member-1ac003ee8d740e2e) | Property | | [EyeHeight](#member-4a4fceb19d2ceb07) | Property | | [FloorSnapLength](#member-786d72bf1374067b) | Property | | [Gravity](#member-930adbcb73b7fb78) | Property | | [HalfHeight](#member-50eb69664530da7d) | Property | | [InheritPlatformHorizontal](#member-a87aee23e7ed7cef) | Property | | [InstanceId](#member-fa8b8c1a9a46c540) | Property | | [IsAlive](#member-6f9667035bce485c) | Property | | [JumpSpeed](#member-ad5c271211c919ea) | Property | | [Object](#member-83d2aef57d4cb4d5) | Property | | [Radius](#member-75a41f0070ef375d) | Property | | [SlopeDegrees](#member-fc08217d789b2743) | Property | | [Speed](#member-ad532a4c9b080c49) | Property | | [StepHeight](#member-4e30119a66aa6f01) | Property | | [TypeId](#member-dd48c710ebb36691) | Property |

.ctor

```csharp public Character(Astra.Component component) ``` **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Constrói o tipo pela assinatura declarada. Um construtor de fachada envolve um componente existente; um record de configuração só tem efeito quando atribuído ao consumidor. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `component` | `Astra.Component` | |

OnColliderHit

```csharp public Astra.ComponentSubscription OnColliderHit(Astra.Behavior owner, System.Action handler) ``` Bateu num colisor. O movimento do personagem colidiu com um corpo; carrega o objeto, o ponto e a normal. Payload: Objeto tocado: objeto, Ponto: vetor, Normal: vetor **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Bateu num colisor. O movimento do personagem colidiu com um corpo; carrega o objeto, o ponto e a normal. Payload: Objeto tocado: objeto, Ponto: vetor, Normal: vetor **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `owner` | `Astra.Behavior` | | | `handler` | `System.Action<Astra.ComponentEventArgs>` | |

Remove

```csharp public void Remove() ``` Remove a instância pelo ciclo nativo; dependências e ownership podem recusar. **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Solicita remoção pelo lifecycle nativo; dependências e regras de Play podem recusar. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Wrap

```csharp public static Astra.Components.Character Wrap(Astra.Component component) ``` **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Envolve um Component existente após conferir TypeId; não cria componente. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `component` | `Astra.Component` | |

Component

```csharp public Astra.Component Component { get; } ``` **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Handle genérico da instância, usado para operações de reflexão e recursos. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ControlPriorityAi

```csharp public float ControlPriorityAi { get; set; } ``` Prioridade IA. Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro. Faixa válida: 0 a 1000. **Caminho:** Inspector → Personagem → Posse de controle; ou fachada C# em um Behavior. **Uso:** **Prioridade IA:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ControlPriorityGamepad

```csharp public float ControlPriorityGamepad { get; set; } ``` Prioridade Gamepad. Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro. Faixa válida: 0 a 1000. **Caminho:** Inspector → Personagem → Posse de controle; ou fachada C# em um Behavior. **Uso:** **Prioridade Gamepad:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ControlPriorityKeyboard

```csharp public float ControlPriorityKeyboard { get; set; } ``` Prioridade Teclado / mouse. Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro. Faixa válida: 0 a 1000. **Caminho:** Inspector → Personagem → Posse de controle; ou fachada C# em um Behavior. **Uso:** **Prioridade Teclado / mouse:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ControlPriorityScript

```csharp public float ControlPriorityScript { get; set; } ``` Prioridade Script. Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro. Faixa válida: 0 a 1000. **Caminho:** Inspector → Personagem → Posse de controle; ou fachada C# em um Behavior. **Uso:** **Prioridade Script:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ControlPriorityUi

```csharp public float ControlPriorityUi { get; set; } ``` Prioridade UI. Maior prioridade vence; empate: IA > Script > Gamepad > Teclado > UI. Script/IA zero mantém posse neste quadro. Faixa válida: 0 a 1000. **Caminho:** Inspector → Personagem → Posse de controle; ou fachada C# em um Behavior. **Uso:** **Prioridade UI:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ControlSource

```csharp public Astra.Components.Character.ControlSourceOption ControlSource { get; set; } ``` Fonte de controle. Automático arbitra prioridades; fonte fixa dá posse exclusiva, sem converter a malha ou a colisão. **Caminho:** Inspector → Personagem → Posse de controle; ou fachada C# em um Behavior. **Uso:** **Fonte de controle:** Automático arbitra os canais; UI/Teclado/Gamepad/Script/IA escolhe uma origem exclusiva. Origem exclusiva neutra mantém a posse; não passa para a IA. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

EyeHeight

```csharp public float EyeHeight { get; set; } ``` Altura dos olhos m (m) Faixa válida: 0.02 a 20. **Caminho:** Inspector → Personagem → Cápsula; ou fachada C# em um Behavior. **Uso:** **Altura dos olhos m:** Altura de referência dos olhos do Character. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

FloorSnapLength

```csharp public float FloorSnapLength { get; set; } ``` Aderência ao chão (m) Faixa válida: 0 a 10. **Caminho:** Inspector → Personagem → Chão; ou fachada C# em um Behavior. **Uso:** **Aderência ao chão:** Distância de snap ao chão; confira degraus e bordas. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Gravity

```csharp public float Gravity { get; set; } ``` Gravidade (m/s²) Faixa válida: 0 a 1000. **Caminho:** Inspector → Personagem → Locomoção; ou fachada C# em um Behavior. **Uso:** **Gravidade:** Aceleração de gravidade do Character. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

HalfHeight

```csharp public float HalfHeight { get; set; } ``` Meia altura do cilindro m (m) Faixa válida: 0.01 a 10. **Caminho:** Inspector → Personagem → Cápsula; ou fachada C# em um Behavior. **Uso:** **Meia altura do cilindro m:** Meia dimensão da forma/volume no eixo indicado. Dimensão total é o dobro; aplica-se à forma selecionada. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

InheritPlatformHorizontal

```csharp public bool InheritPlatformHorizontal { get; set; } ``` Impulso ao sair. Conserva X/Z da superfície no ar; desligar remove apenas esse impulso, sem recriar a cápsula. **Caminho:** Inspector → Personagem → Chão; ou fachada C# em um Behavior. **Uso:** **Impulso ao sair:** Conserva X/Z da superfície no ar; desligar remove apenas esse impulso, sem recriar a cápsula. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

InstanceId

```csharp public ulong InstanceId { get; } ``` **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Distingue a instância no mesmo objeto; importante para componentes múltiplos. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

IsAlive

```csharp public bool IsAlive { get; } ``` **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Validade do handle no mundo/geração atuais. Remoção e novo Play invalidam a referência. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

JumpSpeed

```csharp public float JumpSpeed { get; set; } ``` Velocidade do salto m/s (m/s) Faixa válida: 0 a 100. **Caminho:** Inspector → Personagem → Locomoção; ou fachada C# em um Behavior. **Uso:** **Velocidade do salto m/s:** Velocidade alvo inicial de salto. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Object

```csharp public Astra.GameObject Object { get; } ``` **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Objeto dono deste componente; use para resolver composição. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Radius

```csharp public float Radius { get; set; } ``` Raio m (m) Faixa válida: 0.01 a 10. **Caminho:** Inspector → Personagem → Cápsula; ou fachada C# em um Behavior. **Uso:** **Raio m:** Raio da forma/volume selecionado; confira o tipo e os campos condicionais. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

SlopeDegrees

```csharp public float SlopeDegrees { get; set; } ``` Inclinação máxima graus (°) Faixa válida: 1 a 89. **Caminho:** Inspector → Personagem → Locomoção; ou fachada C# em um Behavior. **Uso:** **Inclinação máxima graus:** Inclinação máxima de apoio do Character. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Speed

```csharp public float Speed { get; set; } ``` Velocidade m/s (m/s) Faixa válida: 0.01 a 100. **Caminho:** Inspector → Personagem → Locomoção; ou fachada C# em um Behavior. **Uso:** **Velocidade m/s:** Velocidade de reprodução/percurso/motor na unidade do componente. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

StepHeight

```csharp public float StepHeight { get; set; } ``` Altura do degrau (m) Faixa válida: 0 a 10. **Caminho:** Inspector → Personagem → Chão; ou fachada C# em um Behavior. **Uso:** **Altura do degrau:** Altura de degrau que o Character pode transpor. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

TypeId

```csharp public static string TypeId { get; } ``` **Caminho:** Inspector → Personagem; ou fachada C# em um Behavior. **Uso:** Identificador nativo usado em AddComponent/GetComponent. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.