Skip to content

[Feature] Runtime Dynamic Components and Systems ( To Support Scripting Initiatives ) #142

@zicklag

Description

@zicklag

This continues from #114 (comment).

The Goal

First off, for this issue, the purpose is not to create a scripting system for bevy. A scripting system that allows you to use other languages for programming Bevy games is, in the context of the official Bevy engine, outside of scope ( reference: #114 (comment) ). This will not include an FFI, or anything other than a Rust API.

What we are trying to do is add to the existing bevy Rust API the ability to register components and systems at runtime with the purpose of allowing other projects to implement different forms of scripting/modding/FFI themselves.

Next Steps

The next step is to come up with an API proposal. The goal is to make a simple API and avoid imposing any extra cruft or otherwise stuff to think about for users that have absolutely no interest in scripting. Keep things ergonomic whether you are scripting or not.

I'm going to do some looking into the bevy_ecs and getting a feel for how things are currently setup. I'll probably be creating a draft PR as soon as I can, regardless of how unready it is, that will show what I'm thinking.


Edit: There's now a PR for this: #623.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ECSEntities, components, systems, and eventsC-FeatureA new feature, making something new possibleS-Needs-Design-DocThis issue or PR is particularly complex, and needs an approved design doc before it can be merged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions