Investigate asset editing without loading .NET assemblies
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
Is your feature request related to a problem? Please describe.
Loading assemblies to edit asset is quite problematic:
- Compilation issues
- Missing dependencies
- Side-effects (ctor, etc.)
- Crash/stability
- Reload takes time and affect lot of objects
Describe the solution you'd like
Instead of loading real objects, one approach would be to use custom fake object that are based on reflection.
We would still need to load actual object for displaying stuff (i.e. scene editor) but we could do that out-of-process.
Likely issues or problem to deal with if taking this approach:
- dynamic/proxy: possibly heavy, lack of code completion (might be mitigated: https://github.com/dotnet/roslyn/issues/15974#issuecomment-268297743)
- default values in .ctor are gone
- huge amount of work
Note that it is just a proposal that will need further investigation, and it might not be such a good idea in practice. Created issue to keep track of some details that were discussed in Discord.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Begin by evaluating the reflection-based fake-object proposal against the listed assembly-loading problems and risks, then determine whether the out-of-process approach supports asset editing and scene display; done means a documented feasibility decision and scoped follow-up work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100