NVIDIA ACE

Build speech, reasoning, game actions and facial animation into local RTX game characters—if your team can own the integration.

Evidence statusPublic-evidence reviewMedium confidenceLast checked Sep 12, 2026By MakeGameWithAI

PRODUCT OVERVIEW

What NVIDIA ACE is—and how it works.

NVIDIA ACE for Games is not a browser that generates a finished NPC. It is a set of on-device game-character technologies: Unreal Engine plugins for speech recognition, local language models and function calling, text-to-speech and Audio2Face; a Beta C/C++ Game Agent SDK for Agent, Chat and RAG; and the NVIGI in-process inference layer.

A complete character path can listen to player speech, turn it into text, combine it with character knowledge and game state, propose a response or game-tool call, synthesize the reply and drive facial animation. Each layer can also be used separately. Your game still owns the character asset, dialogue boundaries, permitted actions, deterministic state changes, interface, recovery and playtesting.

ACE also has a separate self-hosted NIM microservice family for digital-human workloads. That path uses gRPC, GPU deployment and different development/production licensing. It should not be mixed with the local Games SDK as if every component shared one package, price, platform or license.

HOW YOU USE IT

The Game Agent SDK currently requires Windows 10/11, an NVIDIA Ampere-or-newer GPU, driver 570.65+, CUDA 12.8+ and Visual Studio 2019+. Its bundled small language model uses about 3.8 GB of VRAM and the separate model-source archive is about 3 GB. NVIGI currently suggests at least 8 GB and preferably 12 GB of VRAM, with some plugins requiring RTX 40-series hardware. Requirements differ by component; add them instead of copying one minimum across the whole stack.

Listen and speak locally in Unreal

Current UE 5.5–5.7 downloads cover local ASR, LLM and TTS, while Audio2Face currently lists UE 5.4–5.6. Blueprint and C++ access help build a first chain, but version compatibility remains a project decision.

O01O02

Run Agent, Chat and RAG in a native host

The Beta Game Agent SDK exposes a C99 ABI and thin C++ wrapper, with stateful tool loops, stateless chat and hybrid retrieval. It returns text, tool calls or errors; the game supplies tools, state and lifecycle management.

O03O04O05

Schedule AI beside graphics

NVIGI places inference inside the game process and offers graphics-, compute- or balanced-priority modes. This avoids treating AI as a separate web request, but inference and rendering still compete for GPU time and memory.

O07O08O25

Turn speech into facial animation

Audio2Face can drive facial animation from audio through Unreal plugins, an open SDK or a separate NIM service. Rig mapping, streaming buffers, expression depth, synchronization, packaging and target-frame-rate validation remain production work.

O01O10O12U04U15

Choose local SDK or enterprise NIM deliberately

The local Games route emphasizes on-device integration and permissively licensed frameworks. NIM is a self-hosted service route with development limits and separate AI Enterprise production licensing. Pick one architecture before estimating cost or security.

O06O11O12O14O16
REVIEW SCOPE

This page evaluates one bounded, on-device PC character path and the separate NIM licensing option. It does not establish a complete Unity, Godot, console, mobile, Web or non-NVIDIA-GPU route, a universal UE compatibility matrix, production concurrency, current Chinese quality or a cost per accepted NPC conversation.

Beginner friendlinessHigher learning curve
Blueprints and samples shorten the first demo, but a controlled character still requires Windows/RTX setup, driver and CUDA compatibility, models, Unreal or native integration, game-state and tool design, GPU budgeting, packaging and recovery work.
Agent integrationLimited integration
The Beta Game Agent SDK exposes a C99 ABI, C++ wrapper, dynamic loading and structured results that Python, Rust or other hosts can bridge. No official external-Agent MCP, remote REST or general task CLI was confirmed, so Codex or Claude needs a developer-built wrapper or local service.
Scope, integration requirements and sourcesChecked

Beginner scope: A developer without speech-AI or native-plugin experience builds one bounded on-device PC character with text or voice, one safe game action and a fallback.

Agent scope: An external coding agent invokes the local Game Agent SDK and receives text, tool calls or errors—not the ACE character calling tools inside the game.

Confidence: learning High · Agent Medium

Access
Install the compatible Windows, NVIDIA driver, CUDA, build tools and model package, then load the native library from a trusted local host. A custom binding, service or MCP must own process lifecycle, timeouts, permissions and result conversion.
Billing
The local open-source framework has no published per-call software fee, but GPU hardware or rental, energy, engineering and QA remain separate. NIM development use is non-production; production uses separate per-GPU NVIDIA AI Enterprise licensing.
Getting results
Load one model and context, submit a bounded Chat or Agent request, handle ResponseText, ToolCalls or Error, validate any tool request in deterministic game code, return the tool result, then shut down or reuse the model under an explicit lifecycle.
Limitations
Limited means programmable but not turnkey. The SDK is Beta, currently supports a limited backend set, duplicates VRAM for multiple model instances, and requires a wrapper. ACE-side function calling and NIM gRPC do not prove a direct official external-Agent entry for the local SDK.

These are independent editorial judgments, not an overall score or a claim of hands-on agent integration testing.

KEY FINDINGS

What the evidence supports—and what it does not.

01
Official factHigh confidence

The current local stack is real, but it is still a stack

NVIDIA publishes current UE downloads, a native Beta SDK, models and an in-game inference layer. Those pieces can form a complete character path, yet the developer still connects audio, state, tools, animation, UI and failure handling.

O01O02O03O04O07
02
Official factHigh confidence

Graphics and character AI share a finite GPU budget

NVIGI documents graphics-versus-compute scheduling, and PUBG's limited Ally beta requires RTX hardware and recommends lowering graphics when responses lag. A model fitting in memory does not prove the game keeps its target frame rate.

O08O23
03
User reportsMedium confidence

Version and packaging work can reach source-level debugging

Current and historical users report mismatched samples, intermittent crashes, stale audio timing, package-directory sensitivity and Linux build gaps. Some also find working fixes. These are engineering risks, not a claim that every current project fails.

U01U02U03U06U07U12U13
04
User reportsMedium confidence

Audio2Face has credible value and bounded quality limits

A controlled perceptual study places Audio2Face ahead of several research baselines, while developers report streaming gaps, limited emotional depth or moving to alternatives. That supports prototyping with the actual character rig, not a universal realism promise.

U04U08U10U15
05
Editorial inferenceMedium confidence

The newest full-stack evidence is still thin

Most detailed community records concern Audio2Face or older NIM/plugin generations. The June 2026 Game Agent SDK is Beta and has little independent end-to-end game reporting. Official examples prove availability, not an indie success rate or production maturity.

O02O03U01U02U03U14

EDITORIAL VERDICT

Our take

Medium confidence

NVIDIA ACE is a strong candidate when a technically capable PC team wants local character intelligence, speech and animation under its own runtime control. The open SDKs and Unreal plugins can remove a large amount of low-level model plumbing, and a real limited PUBG deployment shows that the architecture can reach a game. The tradeoff is ownership: this is infrastructure, so your team still carries version integration, GPU budgets, game-state authority, content safety, packaging and recovery. Start with one character, one safe action and only the components that prove necessary.

Conclusion scopeOwner-approved, medium-confidence public-evidence review. Twenty-six official sources and fifteen independent records support the product map, integration requirements and recurring failure modes. The new 2026 Game Agent SDK still lacks enough independent end-to-end game evidence for a production-readiness claim.

BETTER FIT

Worth auditioning when

  • Unreal and native-engine teams building one or a few important voice-driven companions, guides or interactive characters.
  • RTX-first PC projects that value on-device latency, local data paths and freedom from per-call cloud billing.
  • Teams able to own C++ or Blueprint integration, GPU profiling, deterministic game tools, packaging and fallback behavior.
  • Projects that want Audio2Face, local speech or Game Agent/RAG as separable building blocks instead of a closed NPC service.

POORER FIT

Do not depend on it yet when

  • Beginners looking for a browser form that produces a finished character without engine or runtime work.
  • Mobile, Web, console, low-spec or cross-vendor-GPU projects that need a clearly supported turnkey path today.
  • Games that would let model output directly grant rewards, change saves, purchase items or decide combat without validation.
  • Teams that need a proven multi-character production SLA, fixed cost per conversation or one license covering every model and service.

WORKFLOW FIT

Where it fits in a production workflow.

01

Define one bounded character job

Choose a guide, witness or companion with a small fact sheet, one conversation goal and one low-risk game action. Decide what remains scripted and what the model may only propose.

GuardrailRewards, purchases, inventory, combat and saved progress remain behind deterministic validation.
02

Choose a route before downloading components

For an Unreal PC prototype, select only the current ASR, LLM, TTS and Audio2Face versions you need. For a custom engine, start from the Game Agent SDK/NVIGI path. Use NIM only when a service architecture and its production license are deliberate choices.

GuardrailRecord engine, driver, CUDA, plugin, model and license versions in the project before integration.
03

Connect the chain one boundary at a time

Begin with text-only Chat, then add one validated tool call, RAG, TTS, ASR and facial animation in that order. Log input, model status, tool request, audio timing and recovery separately so one failure does not look like a broken whole stack.

GuardrailTreat every model tool call as an untrusted proposal and impose turn, time and retry limits.
04

Profile the real game and keep a fallback

Run the target build with final graphics settings, representative dialogue length and expected concurrent characters. Record VRAM, frame time, first text/audio, full response, animation gaps, disconnects and accepted interactions.

GuardrailProvide subtitles, a scripted response and a graceful exit when inference is slow or unavailable.

RECOMMENDED WORKFLOW

Use this tool inside a complete production workflow.

Start from a testable brief, then move through prototyping, assets, audio, testing, and release with an explicit handoff and human check at every step.

Open the complete method

SHORTEST RESPONSIBLE PATH

Start with text, one tool and one target RTX machine

This is a low-risk starting workflow synthesized from the evidence.

  1. 01

    Choose the exact engine version and one supported RTX development machine; record the driver, CUDA, plugin and model versions.

  2. 02

    Create one fictional character with a short fact sheet, forbidden claims and one harmless tool such as opening a dialogue panel.

  3. 03

    Run the current text-only Chat or Agent sample first. Confirm clean startup, shutdown, error reporting and a bounded tool-call loop before adding voice.

  4. 04

    Add TTS, then ASR, then Audio2Face one at a time. Keep per-stage logs and a scripted fallback so each boundary can be isolated.

  5. 05

    Package a disposable build and run a small prompt set while the real game renders. Record VRAM, frame time, first-audio delay, crashes, tool validation and recovery.

  6. 06

    Only after the local path is stable, decide whether more characters, RAG or a NIM service justify the added hardware, security and production-license work.

PRICING & RIGHTS

Open frameworks remove per-call fees—not the cost of a working character

Pricing and terms last checked: Sep 12, 2026

  • The Game Agent SDK is Apache-2.0; NVIGI Core and the Audio2Face SDK are primarily MIT with separately licensed exceptions. These local framework paths publish no separate per-call software fee.
  • A $0 framework license does not include an RTX GPU, memory headroom, electricity, engineering, character content, integration, build support or quality assurance. Model and third-party dependency licenses remain separate.
  • NVIDIA's developer-program NIM license is $0 for development, research and testing on up to 16 GPUs. It does not permit production and does not include cloud or physical GPU infrastructure.
  • Production NIM use requires NVIDIA AI Enterprise. The current self-managed list price starts at $4,500 per GPU per year; NVIDIA also describes cloud access at approximately $1 per GPU-hour. The unit is a GPU, not a NIM, NPC or conversation.
  • Dividing the annual license alone gives $375 per GPU-month, about $12.33 per calendar day and about $0.514 per continuous 24/7 hour. The hourly equivalent is arithmetic, not an official hourly plan, and excludes GPU infrastructure.
  • Public sources do not provide one comparable full-stack throughput, concurrent-character count, quality threshold or acceptance rate. Cost per accepted conversation, animation second and production NPC therefore remains unknown.
COST TO OUTPUT

What each public dollar figure actually buys

License arithmetic from the September 12, 2026 snapshot. Local hardware, cloud infrastructure, power, labor, content, quality assurance and failed outputs are excluded. No row represents an accepted NPC or conversation.

O06O07O10O14O15O16
Local open-source framework path$0 separate per-call license fee

You receive source, APIs and samples to integrate locally. You do not receive the RTX machine, finished character, production support or a guaranteed result.

Self-managed NIM production license$4,500 / GPU / year

That license alone equals $375 per month, about $12.33 per day or about $0.514 per continuous hour. GPU infrastructure and utilization are separate.

Approximate cloud NIM accessabout $1 / GPU-hour

This is an official approximate GPU-time framing, not a conversation price. Without throughput and acceptance data, $1 cannot be converted into a reliable number of NPC turns.

Accepted game-character outputUnknown

The complete denominator requires target hardware, models, dialogue length, concurrent characters, frame-rate target, retries and human acceptance. Current public evidence does not supply one shared measurement.

Actual accepted-interaction cost = license, GPU or cloud compute, power, all model stages, engineering, maintenance, content and QA divided by interactions that pass the game's quality and safety bar. Keep the value unknown until one fixed architecture is measured.

Commercial-use condition

Commercial use is possible with conditions, not under one universal ACE license. The Game Agent SDK is Apache-2.0 and the main NVIGI/Audio2Face SDK code is MIT, while downloaded models, Microsoft or other third-party binaries, Audio2Emotion and NIM production use carry separate terms. Review the exact components shipped in the game, preserve notices and obtain rights and consent for any reference voice. This is not legal advice.

Self-hosted does not mean secure by default. Audio2Face NIM documents authentication and transport encryption as disabled by default; configure TLS, certificates, access control, logs and auditing. Treat player speech, character memory and cloned voices as sensitive, minimize retention and do not expose runtime administration or unrestricted game tools to model output.

PRODUCTION RISKS

Resolve these before production use.

Beta and version matrices can move underneath a project

Game Agent SDK is Beta and current UE component ranges differ. Pin every engine, plugin, driver, CUDA and model version, and test upgrades in a project copy before changing production.

O01O02O03U01U03

Rendering, inference and multiple characters compete

VRAM capacity alone is not enough: graphics and inference share scheduling and memory. Dialogue length, streaming and concurrent characters can change frame time and response latency.

O08O23U04U09

A tool call is not game authority

The model can propose tools repeatedly or incorrectly. Validate arguments, permissions and current state in deterministic code, cap loops and timeouts, and never let dialogue directly mutate consequential state.

O02O04O24

Realtime animation and long sessions need recovery design

Streaming gaps, stale playback state, long-audio truncation and idle failures have appeared in version-specific reports. Buffering, reconnect, subtitles and a scripted fallback are product features, not optional debugging details.

U02U04U05U07

Licenses and security differ by component

A permissive SDK license does not cover every model, dependency or NIM production deployment. Self-hosted services also require explicit authentication, encryption, logging and data-retention choices.

O06O07O10O13O14O17O18O19O20

NOT VERIFIED

Claims this page does not make

RESEARCH METHOD

Research-reviewed from public evidence

Research-reviewed from public evidence. We checked twenty-six official product, repository, API, hardware, model, license, security, price and deployment sources, then coded fifteen principal records across Epic Developer Community, NVIDIA Developer Forums, Reddit, GitHub Issues, an independent engineering article and an academic study. NVIDIA Forums contribute six of fifteen, below half; positive, negative and exit/alternative evidence are retained. Historical Audio2Face/NIM reports stay version-specific, vendor examples do not become independent quality evidence, and missing GameDev.net, Stack Overflow or public Discord records are not treated as proof that no discussion exists.

Research windowCurrent 2026 ACE for Games downloads, Game Agent SDK Beta, NVIGI, Audio2Face/NIM, model licenses and production pricing, with historical integration records retained only in their version-specific scope.
OFFICIAL SOURCES26
  1. O01
    Official
    NVIDIA ACE for Games

    Current product map, Unreal plugin downloads, local models, Game Agent SDK and NVIGI. Component versions and licenses are not treated as one uniform bundle.

    Checked Sep 12, 2026
  2. O02
    Official
    Build on-device AI companions with NVIDIA ACE

    Current on-device companion architecture, UE plugins, selected models and NVIDIA's own latency, state-sync and loop-control cautions.

    Checked Sep 12, 2026
  3. O03
    Official
    NVIDIA Game Agent SDK

    Apache-2.0 Beta SDK, Windows/RTX/CUDA requirements, downloads, samples and model size. Repository activity is a maturity signal, not a popularity score.

    Checked Sep 12, 2026
  4. O04
    Official
    Game Agent SDK API overview

    C99 ABI, C++ wrapper, dynamic loading, Python/Rust host possibilities, Agent/Chat/RAG lifecycles and structured tool-call results.

    Checked Sep 12, 2026
  5. O05
    Official
    Game Agent SDK known limitations

    Current RAG scoring and backend limitations, including the current llama.cpp-only backend.

    Checked Sep 12, 2026
  6. O06
    Official
    Game Agent SDK license

    Apache License 2.0 for the SDK source; model and dependency terms remain separate.

    Checked Sep 12, 2026
  7. O07
    Official
    NVIGI Core

    In-process C++ inference framework, current RTX/VRAM/Windows build requirements and separately licensed exceptions.

    Checked Sep 12, 2026
  8. O08
    Official
    NVIGI GPU scheduling for AI

    Graphics and AI compete for the same GPU; prioritization modes exist, but results depend on workload and hardware.

    Checked Sep 12, 2026
  9. O09
    Official
    Riva ASR Developer Pack 2.0

    Separate ASR developer-pack route, backends, language coverage and approximate per-instance memory; it is not the same package as every Unreal plugin.

    Checked Sep 12, 2026
  10. O10
    Official
    Audio2Face-3D SDK

    Current SDK source, supported systems, CUDA/TensorRT, VRAM/storage requirements and gated-model dependency.

    Checked Sep 12, 2026
  11. O11
    Official
    Audio2Face-3D SDK license

    MIT license for the SDK source, not a substitute for every model or dependency license.

    Checked Sep 12, 2026
  12. O12
    Official
    Audio2Face-3D NIM documentation

    Self-hosted gRPC microservice and supported GPU profiles. This NIM path is kept separate from the local Games SDK path.

    Checked Sep 12, 2026
  13. O13
    Official
    Audio2Face-3D NIM security

    The service does not retain audio, while authentication and transport encryption are disabled by default and remain the operator's responsibility.

    Checked Sep 12, 2026
  14. O14
    Official
    NVIDIA NIM FAQ

    Free developer-program scope, 16-GPU limit, non-production boundary, production licensing and approximate cloud-GPU rate.

    Checked Sep 12, 2026
  15. O15
    Official
    Run NVIDIA NIM anywhere

    Development versus production licensing boundary across self-hosted and cloud deployment.

    Checked Sep 12, 2026
  16. O16
    Official
    NVIDIA AI Enterprise pricing guide

    Current self-managed subscription list price of $4,500 per GPU per year; infrastructure is not silently added to that license figure.

    Checked Sep 12, 2026
  17. O17
    Official
    Chatterbox Turbo model card

    MIT-licensed 350M English TTS model and reference-voice workflow. Voice consent and source rights remain the developer's responsibility.

    Checked Sep 12, 2026
  18. O18
    Official
    Qwen3.5-4B model card

    Apache-2.0 model used in the current NVIDIA companion example.

    Checked Sep 12, 2026
  19. O19
    Official
    Nemotron 3 Nano 4B model card

    Model-specific NVIDIA open-model license and stated language/coding scope.

    Checked Sep 12, 2026
  20. O20
    Official
    Audio2Emotion v3.0

    Model-specific terms restrict use to Audio2Face and prohibit emotion-recognition use; it cannot inherit the SDK's MIT label.

    Checked Sep 12, 2026
  21. O21
    Official
    NVIDIA ACE overview

    Broader digital-human and microservice architecture, used only to explain the separate older/enterprise route.

    Checked Sep 12, 2026
  22. O22
    Official
    ACE Unreal Plugin 2.5 installation

    Historical, version-specific UE 5.5/5.6 installation evidence; not generalized to every current plugin.

    Checked Sep 12, 2026
  23. O23
    Official
    PUBG Ally Beta patch notes

    Limited PC beta, RTX hardware requirements and guidance to lower graphics when responses are delayed. One custom AAA deployment does not prove indie ease.

    Checked Sep 12, 2026
  24. O24
    Official
    Minimize game runtime inference costs with coding agents

    Runtime agent/tool-loop architecture and GPU contention. It describes ACE-side agents, not an external Codex or Claude integration.

    Checked Sep 12, 2026
  25. O25
    Official
    Bring ACE characters to games with in-game inference

    Earlier in-process C++ setup and callback path, supporting native integration scope rather than ease claims.

    Checked Sep 12, 2026
  26. O26
    Official
    NVIDIA open-sources Audio2Face animation model

    Open-source announcement and production examples; studio mentions remain vendor evidence rather than independent results.

    Checked Sep 12, 2026
INDEPENDENT EVIDENCE RECORDS15
  1. U01
    Community case
    UE5.6 Audio2Face playback and animation failure

    A developer reports mismatched samples/plugins/models, empty options and a crash, then reads source and patches an Audio2Emotion parameter path to proceed.

    Checked Sep 12, 2026
  2. U02
    Community case
    UE5.6 Audio2Face lip sync stops after the first clip

    Current UE stack runs ASR/TTS/LLM, while lip sync stops after one clip; the author traces stale mixer timing and proposes a source patch.

    Checked Sep 12, 2026
  3. U03
    Community case
    Access violation in the Unreal ACE LLM plugin

    A UE 5.7 user says the LLM plugin mostly works but intermittently crashes with an access violation.

    Checked Sep 12, 2026
  4. U04
    Community case
    Audio2Face diffusion streaming frame gaps

    Batch inference works, while realtime output arrives in bursts with a warm-up gap; one specific streaming configuration, not a universal latency measure.

    Checked Sep 12, 2026
  5. U05
    Community case
    A2F connection timeout and audio truncation

    A historical NIM version truncates long audio and fails to recover after idle time. The issue supports session-recovery testing, not a current universal defect.

    Checked Sep 12, 2026
  6. U06
    Community case
    Linux support for local Audio2Face Unreal execution

    A developer finds no prebuilt local Linux Unreal plugin and may need to compile source, while the remote base plugin works.

    Checked Sep 12, 2026
  7. U07
    Community case
    Audio2Face in a packaged Unreal application

    A packaged build fails on several PCs until the plugin is moved into a specific Marketplace/Nvidia directory: a positive fix and a setup-sensitivity signal.

    Checked Sep 12, 2026
  8. U08
    Community case
    Audio2Face versus Inworld for a MetaHuman workflow

    One Unreal user gets Audio2Face working after key and SDK adjustments, but finds an Inworld plugin faster to start for that task.

    Checked Sep 12, 2026
  9. U09
    Community case
    NVIDIA ACE NPC integration discussion

    A historical Audio2Face user reports acceptable use for one or two characters or cutscenes, with poor multi-character performance; hardware and version are missing.

    Checked Sep 12, 2026
  10. U10
    Community case
    Alternatives to Audio2Face for game NPC dialogue

    A developer leaves the A2F/UE result for a custom solution; another likes A2F but finds emotional depth limited. This covers facial animation, not the whole ACE stack.

    Checked Sep 12, 2026
  11. U11
    Independent walkthrough
    Audio-to-A2F-to-USD-to-Unreal workflow

    A developer reports building a recorded/third-party-TTS to A2F, USD and ACE Unreal pipeline in a day. It is a positive historical offline workflow, not current full-stack throughput.

    Checked Sep 12, 2026
  12. U12
    Technical repository
    Audio2Face SDK CMake and CPU-backend question

    A user asks for build-option and CPU-backend clarity, showing that configuration assumptions are not obvious from the public project.

    Checked Sep 12, 2026
  13. U13
    Technical repository
    Audio2Face SDK Ubuntu zlib build mismatch

    Ubuntu 24.04 build fails because the project expects a different zlib patch version, a concrete dependency-friction example.

    Checked Sep 12, 2026
  14. U14
    Independent walkthrough
    Independent NVIDIA ACE microservice integration notes

    An engineer describes scattered older-stack documentation and extra work to replace Riva-compatible gRPC services for Japanese. Historical microservice path only.

    Checked Sep 12, 2026
  15. U15
    Academic case
    Speech-driven facial animation perceptual study

    Controlled studies with more than thirty participants per experiment place Audio2Face behind Epic's system but ahead of several research baselines for lip sync and realism. It does not evaluate the rest of ACE.

    Checked Sep 12, 2026

DISCLOSURE

How this research was supported

Independent editorial research. MakeGameWithAI has no affiliate link, sponsorship, vendor-provided account, GPU, model access, interview or technical support for this review. Owner Review approved the infrastructure positioning, advanced / high beginner decision, limited / medium external-Agent decision, cost framing and component-level licensing on September 12, 2026, then approved publication on September 14, 2026.

Research review and Owner Review are complete.

This public research review will be revisited when pricing, terms, product versions, or material new evidence changes.