https://github.com/rparrett/bevy_simple_text_input
Bevy plugin for a simple single-line text input widget.
https://github.com/rparrett/bevy_simple_text_input
bevy game-development rust
Last synced: 4 months ago
JSON representation
Bevy plugin for a simple single-line text input widget.
- Host: GitHub
- URL: https://github.com/rparrett/bevy_simple_text_input
- Owner: rparrett
- License: other
- Created: 2023-09-09T17:41:14.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-02-04T16:14:03.000Z (4 months ago)
- Last Synced: 2026-02-05T01:29:32.266Z (4 months ago)
- Topics: bevy, game-development, rust
- Language: Rust
- Homepage:
- Size: 328 KB
- Stars: 120
- Watchers: 2
- Forks: 27
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# bevy_simple_text_input
[](https://crates.io/crates/bevy_simple_text_input)
[](https://docs.rs/bevy_simple_text_input)
[](https://bevyengine.org/learn/book/plugin-development/#main-branch-tracking)
An unambitious single-line text input widget for `bevy_ui`.

## Usage
> [!IMPORTANT]
> Code and examples in the main branch are under development and may not be compatible with the released version on crates.io. The [`latest`](https://github.com/rparrett/bevy_simple_text_input/tree/latest) branch will contain the code from the most recent release.
See [`examples/basic.rs`](https://github.com/rparrett/bevy_simple_text_input/blob/latest/examples/basic.rs).
## Features
I am not trying to build and maintain an enterprise-grade text input, just something that is good enough to be useful in small projects.
- [X] Scrolling
- [X] Keyboard cursor movement (char, word, start/end)
- [X] Disable / focus
- [X] Placeholders
- [X] Doesn't *completely* choke on unicode
- [X] Password masking
- [X] "Submit" events
- [X] Max length
### Maybe
- [ ] Input filtering
- [ ] Mouse cursor movement
- [ ] Proper unicode grapheme support
- [ ] IME support
### Probably not
I *might* consider very high quality contributions in these areas, but probably won't be working on them myself. These would likely involve adding dependencies or adding lots of code that I don't want to commit to maintaining.
- [ ] Multi-line
- [ ] Copy / paste
- [ ] Selection
- [ ] Mobile
### Definitely not
- [ ] Rich text
## Compatibility
| `bevy_simple_text_input` | `bevy` |
| :-- | :-- |
| `0.13`-`0.14` | `0.18` |
| `0.12` | `0.17` |
| `0.11` | `0.16` |
| `0.10` | `0.15` |
| `0.8`-`0.9` | `0.14` |
| `0.4`-`0.7` | `0.13` |
| `0.3` | `0.12` |
| `0.1`-`0.2` | `0.11` |
## Contributing
Please feel free to open a PR!
The code should be simple enough for users to quickly understand and modify for their own purposes. Any new dependencies must not also depend on Bevy. Ideally, we should not add *any* new dependencies.
Please keep PRs small and scoped to a single feature or fix.
## Alternatives
If you need more features, check out [`bevy_ui_text_input`](https://github.com/ickshonpe/bevy_ui_text_input) or [`bevy_egui`](https://github.com/mvlabat/bevy_egui).