#let s make a thread
1 messages ยท Page 1 of 1 (latest)
all they do is create new type with my interface (for reflection)
and then for example: using New Input System to create callback for some action that adds component to InputEntity singleton
so, rather than callbacks and structural changes, what if you just had a singleton with a NativeList<TypeIndex> on it
and they would just add to this list with the typeindex of their component they want to add
wouldn't this communicate the same information?
or are they going to query for their tag later?
yeah, that's the idea of this system
so for some actual logic that handles player input, there's system that requires certain input singleton to exist
it's not perfect, I know
so, we know that none of their code is going to get bursted, right
but it works and it's easy to use
because burst doesn't really support that
no way, it's totally burstable
how do modders submit code?
my whole input is bursted except for managed callbacks part of New Input System
they define their InputType
they use my hook that gives a way to have OnCreate, PostSystemCreation callbacks and etc
Without actually creating a system
In there they setup all required callbacks of New Input System to attach component to that input Entity
Aaaand then it just works
If they want to create logic that reacts on Input
They simply define whatever system they way which requries singleton of their type
no no
it can be ISystem and fully bursted
zoom out
do they submit managed assemblies somewhere?
like managed dll's?
and your game looks for those assemblies and loads them?
oh, for that part
Yeah, my game will load game code from Mods folder or smth like that
yes, but their code is not native libraries, it's managed
burst runs when you build your game from the editor
it reads the managed assemblies and compiles it to a native library called lib_burst_generated.dll
aha! they also submit native dlls from burst?
yeah, managed + burst
beautiful
it's in that manual
but
last time I tested
it doesn't work ๐
it's broken
Burst doesn't load anything
I just hope burst team will fix it by the time I'll be able to release
do they know about it?
in the burst forum?
actually, it's not very infromative
as I was testing smth else at the moment ๐
I'll make another and will try Bug Report feature
as I'll get back to it
but it works
as soon as the sourcegen changes your example will break
also entities foreach ruins your iteration time anyway
but really, it worked
i believe you ๐
exactly the same as no code gen at all
I tested both
managed part runs totally fine
even with foreach
the thing is, the burst team knows nothing about entities.foreach
we're just customers of them
ah, about that
no worries, back at the time
I was tweaking with Harmony trying to modify bursted code
which now that I know - won't ever work
they don't need to see any foreach code
They just need to notice the fact that
BurstRuntime.LoadAdditionalLibrary(bursted);
might not work
it doesn't work in Editor and it crashes in Build
at least for 2021 version
so here's what i would do to improve this bug report:
- remove all entities usage from the example, to isolate it to a burst problem and not an entities problem.
- write down what exact version of burst + unity you're using
- verify that burst is on for player builds in projects A and B in project settings -> burst aot settings
- write down the filenames of all the managed dlls and all the native dlls you're trying to load, and verify that those all exist in the final build directory you're loading them from
- look at all the exceptions from all the logs and verify that they're actually related to burst and loading stuff, and not unrelated errors (i see a lot of unrelated errors in the editor log attached to that post)