il2cpp-bridge-rs 0.1.3

Rust library for Unity IL2CPP runtime introspection — resolve classes, invoke methods, and interact with the IL2CPP VM at runtime
Documentation
# API Map

This page is a navigation aid, not a duplicate of rustdoc. Use generated rustdoc for exact signatures, return shapes, and item-level semantics.

## Start Here

These are the main entry points for most integrations:

- `init`
- `api::cache`
- `api::Thread`
- `api::invoke_method`
- dump helpers under `api`
- wrappers such as `api::Application` and `api::Time`
- metadata and object types under `structs`

## Initialization and Runtime Access

- `init(target_image, callback)` initializes symbol loading and cache hydration
- `api::Thread` manages IL2CPP thread attachment outside the initialization worker
- `api::Internals` resolves or registers internal calls

## Cache and Metadata

Use `api::cache` to reach hydrated assemblies and metadata:

- `assembly(name)`
- `csharp()`
- `mscorlib()`
- `coremodule()`
- `class_from_ptr(ptr)`
- `method_from_ptr(ptr)`
- `ensure_hydrated()`

Core metadata/object wrappers live under `structs`:

- `Assembly`
- `Class`
- `Method`
- `Field`
- `Property`
- `Object`
- `Type`
- `Image`

## Invocation and Object Access

The common call flow is:

1. find an `Assembly`
2. resolve a `Class`
3. resolve a `Method`
4. call through `Method::call<T>` or `api::invoke_method`

For object-specific access:

- use `Object::method` for instance-bound method lookup
- use `Object::field` for instance-bound field access
- use `Object::property` for instance-bound property access

## Unity-Oriented Wrappers

Wrappers help with common Unity tasks without changing the core runtime model:

- `api::Application`
- `api::Time`
- `GameObject`
- `Transform`
- `MonoBehaviour`
- rendering, physics, animation, and scene wrappers under `structs::components`

## Dump Helpers

The pseudo-code dump helpers are under `api`:

- `dump`
- `dump_all`
- `dump_to`
- `dump_all_to`
- `dump_assembly`

## Canonical Reference

Build the generated docs locally with:

```bash
cargo doc --no-deps
```

Use rustdoc as the canonical reference layer. Use the markdown guides for workflow explanations, caveats, and integration strategy.