
EdenSpark Update 0.0.5.7
Inertial Blending im Animator
Die Animator-Komponente unterstützt nun Inertial Blending – eine Technik, die fließende, natürlich wirkende Übergänge zwischen Animationszuständen erzeugt, ohne dass explizite Übergangsklips erforderlich sind. Anstelle eines linearen Überblendens bewahrt Inertial Blending die Dynamik der aktuellen Pose und lässt sie organisch in die Zielanimation ausklingen, wodurch der für lineare Überblendungen typische abrupte „Sprung“ vermieden wird.
Bloom im Standard Renderer
Der Standard Renderer unterstützt nun den Bloom-Effekt. Mit der neuen Bloom-Komponente können Sie Ihre Objekte zum Leuchten bringen. Die Komponente kann auch zur Feinabstimmung des Bloom-Effekts im HD-Renderer verwendet werden.


Blur im Standard Renderer
Mit der neuen Blur-Komponente könnt ihr jetzt das Bild im Standard Renderer verwischen. In Kombination mit dem Rendern in ein Render-Target lässt sich diese Funktion zum Verwischen von Hintergründen in euren Spielen nutzen. Derzeit funktioniert die Komponente nur im Standard Renderer, da der HD Renderer kein Multi-Kamera-Rendering unterstützt – ohne dieses Feature ist die Komponente nahezu nutzlos.
Verbesserungen bei der Kollider-Bearbeitung

Die Bearbeitung von Kollidern im Szenen-Editor ist jetzt zuverlässiger: Mehrere Probleme, die zum Auftreten unerwünschter Formen, falscher Debug-Grenzen und zum Verlust von Bearbeitungen führen konnten, wurden behoben. Der aktuell bearbeitete Kollider wird auch in der Ansicht hervorgehoben, sodass Sie leichter erkennen können, woran Sie gerade arbeiten.
Cube Sphere ist nun die Standardkugelform
Beim Hinzufügen eines Kugelprimitivs zur Szene wird nun standardmäßig eine Cube Sphere verwendet. Im Vergleich zur klassischen UV Sphere verteilt eine Cube Sphere die Scheitelpunkte und den UV Space gleichmäßiger über die Oberfläche – ein De-facto-Industriestandard, der besser mit Texturen, Normal Maps und Subdivision harmoniert. UV Spheres stehen weiterhin als Alternative zur Verfügung.


Realistisches Wasser im HD Renderer
Wenn ihr den HD Renderer verwendet, könnt ihr eurer Szene nun mit der neuen Komponente HDWater realistisches Wasser hinzufügen. Diese Komponente besteht aus einer unendlichen Ebene, auf der oben eine Wasseroberfläche simuliert wird und unterhalb der Ebene das Unterwasser-Rendering aktiviert ist. Derzeit befindet sich die Funktion noch in der Entwicklung; Heightmap, Flowmap und Effekte werden zu einem späteren Zeitpunkt hinzugefügt.

Launcher

Die Registerkarte „Home“ zeigt Spiele nun in einem Rasterlayout anstelle eines horizontalen Scrollbereichs an, was die Navigation sowohl mit der Maus als auch mit dem Gamepad erleichtert. Unter „Zuletzt gespielte Spiele“ werden die 12 zuletzt gespielten Titel angezeigt, die übrigen sind unter „Weitere heruntergeladene Spiele“ zu finden. User-Projekte verwenden nun ein ähnliches Raster.
MCP Tools für die Editor-Automatisierung
Eine Reihe neuer MCP Tools ermöglicht es einem KI-Agenten (oder einem beliebigen MCP Client), die Szene zu untersuchen und den Editor von Anfang bis Ende zu steuern, ohne das UI zu beeinflussen.
Pixel Shader in Daslang
Ihr könnt nun benutzerdefinierte Pixel Shader direkt in Daslang schreiben. Erstellt eine .shader-Datei, wählt sie im Material-Importer-Fenster aus und fügt dieses Material dann dem Mesh hinzu.
var {
@color rimColor = float3(0.0, 0.5, 1.0)
speed = 4.0
}
[pixel_shader]
def fresnel_pulse(inp : PbrInput) {
let rim = fresnel(3.0, inp.worldNormal, inp.viewDir) * rimColor
let pulse = remap(sin(g_Time * speed), float2(-1, 1), float2(0, 1))
return PbrOutput(
emission = rim,
emissionStrength = length(rim) * pulse * 5.0,
metalness = 0.0,
roughness = 0.0
)
}Im var {} Block deklarierte Eigenschaften werden im Editor als per-material Schieberegler und Farbauswahlfelder angezeigt. Die Annotation @color wandelt das Feld in ein Farbauswahlfeld um.
Shader haben Zugriff auf Geometriedaten (worldPos, worldNormal, viewDir, uv, localPos), globale Szeneneingaben (g_Time, g_LightDirection), und eine Reihe integrierter Operationen:
- Surface — fresnel(power, normal, viewDir)
- Noise — noise(float2), noise(float3) — returns values in 0..1
- Utility — remap, smooth_step, step, one_minus, saturate
- Textures — tex2d(sampler, uv), declare as myTex = Sampler2D("path/to.png")
- Math — alle Standardfunktionen (sin, cos, lerp, pow, abs, frac, floor, ...) overloaded for float through float4
Eine Bibliothek mit vorgefertigten Beispiel-Shadern ist enthalten: hologram, dissolve, iridescent, toon/cel-shading, lava, water, force field, triplanar, fresnel, outline, burn, freeze, electric und weitere. Ein separater Satz von 2D-Shadern (Screen-Space) ist ebenfalls verfügbar.
Prefab- Updates
Die Funktionen „Add empty parent“ und „Make prefab root“ sind nun für alle Nodes verfügbar. Es entstehen keine Probleme mit übertragenen Prefabs oder eingebetteten Prefab-Instanzen – also probiert es aus! Die Engine kümmert sich darum.
Das Serialisierungsformat für Prefabs wurde leicht geändert, um es einfacher und kürzer zu machen. Um alle Prefabs im Projekt automatisch zu migrieren, verwenden Sie Edit -> Migrate prefabs, oder speichern Sie sie einfach manuell neu.
Strudel: musterbasierte Musik-Engine (experimentell)
Daslangs Strudel-Implementierung ist nun in EdenSpark für prozedurale und live-codierte Musik verfügbar. Beschreibt Rhythmen, Melodien und Klangmuster mit einer kompakten Mini-Notations-DSL.
Diese Implementierung erweitert das ursprüngliche strudel.cc um Funktionen wie die Möglichkeit, SF2 SoundFonts und binaurale HRTF-Positionierung zu verwenden.
Die Strudel-Funktion ist experimentell und befindet sich noch in der Entwicklung, daher ist Vorsicht geboten.
require strudel
let handle = strudel_play(
note_pattern("<c3 e3 g3 b3>", "sawtooth")
.slow(2.0lf)
.set_gain(0.6)
.set_room(0.7)
)
Durchsichtige Oberflächen
Ihr könnt jetzt Blätter, Vorhänge oder andere dünne Oberflächen erstellen, durch die Licht auf die Rückseite dringt. Der Grad der Lichtdurchlässigkeit wird über die neue Eigenschaft translucency in den Shadern standard_diffuse, standard_specular und standard_metallic festgelegt. Diese Funktion ist in beiden Renderern verfügbar, wobei der HD-Renderer zusätzlich die Subsurface-Scattering-Effekte simuliert. Wir haben auch TransparencyMode.Translucent in TransparencyMode.AlphaBlend umbenannt, um Verwirrung zu vermeiden. Der alte Wert bleibt als Alias aus Kompatibilitätsgründen erhalten, aber verwenden Sie in neuem Code vorzugsweise TransparencyMode.AlphaBlend. Materialdateien sind davon nicht betroffen.


Konverter von der Unity game engine zu EdenSpark
Wir haben unser internes Tool zur Konvertierung von Unity-Projekten nach EdenSpark veröffentlicht. Ihr könnt es als Unity-Paket aus diese repo installieren. Derzeit sind die Funktionen noch sehr begrenzt, aber wir werden es weiter verbessern! Haltet Ausschau nach einem zukünftigen Devblog. Beachtet bitte, dass der Konverter technisch gesehen nicht Teil von EdenSpark ist – es handelt sich um ein externes Tool, das wir unabhängig vom Release-Zyklus aktualisieren werden.
Willkommens-Reiter im Editor

Ein neuer Willkommens-Reiter wird im Editor angezeigt, wenn die App gestoppt ist. Er dient als Quick-Start-Zentrale mit Verknüpfungen zum Erstellen einer neuen Szene, Öffnen von main.das sowie zum direkten Springen zur Dokumentation, zur EdenSpark-Website und zu den Discord- und Telegram-Kanälen.
📐 API Changes
Daslang: Benannte Tupel müssen explizit sein
Änderung mit Kompatibilitätsbruch. Benannte Tupel in Daslang erfordern nun bei der Erstellung explizite Feldnamen, und die Vermischung von benannten und unbenannten Feldern innerhalb desselben Tupels ist nicht mehr zulässig.
Früher:
return (x, float3())jetzt :
return (pos = x, dir = float3())DirectionLight → DirectionalLight
DirectionLight wurde aus Gründen der Einheitlichkeit mit der übrigen Komponentenbenennung in DirectionalLight umbenannt. Die alten Namen bleiben als Aliase erhalten, sodass bestehende Projekte ohne Änderungen weiter funktionieren – bitte verwendet jedoch in neuem Code vorzugsweise DirectionalLight.
Übersichtlichere physics API
Die physics API wurde überarbeitet – der Teil rigid_body in den Funktionsnamen war überflüssig, da das erste Argument bereits ein RigidBody ist, daher wurde er entfernt, um die Aufrufe übersichtlicher zu gestalten.
apply_rigid_body_impulse, apply_rigid_body_angular_impulse, apply_rigid_body_force, apply_rigid_body_torque, get_rigid_body_velocity_at sind veraltet. Verwenden Sie die kürzere Variante apply_impulse, apply_angular_impulse, apply_force, apply_torque, get_velocity_at .
Pixel Shader in Daslang
Bei einigen Shader Graph Nodes hat sich die Eingabeliste geändert. Vorhandene Shader Graphs, die diese Nodes verwenden, müssen manuell aktualisiert werden.
TransparencyMode.Translucent → TransparencyMode.AlphaBlend
TransparencyMode.Translucent wurde in TransparencyMode.AlphaBlend umbenannt, um Verwechslungen mit der neuen Eigenschaft für translucency in Materialien zu vermeiden. Der alte Wert bleibt aus Kompatibilitätsgründen als Alias erhalten, aber verwenden Sie in neuem Code vorzugsweise TransparencyMode.AlphaBlend. Materialdateien sind davon nicht betroffen.
✨ Neu hinzugefügt
- Unterstützung für Inertial Blending in der Animator-Komponente
- Ein neuer Modus AudioLoadType.Auto lässt die Engine entscheiden, wie die einzelnen Sounds abgespielt werden sollen: Kurze Sounds werden einmalig in den Speicher dekodiert, während längere Sounds von der Festplatte gestreamt werden. Man muss nicht mehr für jedes Asset den richtigen LoadType erraten – man wählt einfach Auto und die Engine kümmert sich darum.
- „Add empty parent“ und „Make prefab root“ für alle Nicht-Prefab-Nodes aktiviert
- Option Save Mesh im Rechtsklick-Kontextmenü für Mesh-Ressourcen im Inspektor
- Projektkonverter von Unity zu EdenSpark (in Arbeit)
- Willkommens-Reiter, der angezeigt wird, wenn das Spiel gestoppt ist, mit den Schnellaktionen „Neue Szene“ und „main.das öffnen“
- Links zur Dokumentation, Website, Discord und Telegram im Willkommens-Reiter.
- Bloom-Komponente zum Einrichten des Bloom-Effekts in beiden Renderern
- Blur-Komponente zum Aktivieren von Unschärfe im Standard-Renderer, die in Verbindung mit dem Rendern in ein Renderziel zum Weichzeichnen von Hintergründen in euren Spielen verwendet werden kann
- HDWater-Komponente zum Hinzufügen von realistischem Wasser zu eurer Szene bei Verwendung des HD-Renderers
- HDExposureAdaptation-Komponente zur Feinabstimmung der Belichtungsanpassung im HD-Renderer
- In Daslang geschriebene Pixel-Shader – .shader-Dateien mit Hot-Reload und materialbezogenen Eigenschaften
- translucency-Eigenschaft für standard_diffuse-, standard_specular- und standard_metallic-Shader, die Lichtdurchlässigkeit durch die Oberfläche ermöglicht
- Rasterlayout auf der Registerkarte „Home“, das den horizontalen Bildlaufbereich ersetzt
- Abschnitt „Weitere heruntergeladene Spiele“ für Spiele, die über die 12 neuesten hinausgehen
- Popup-Fenster mit Versionsinformationen, Dokumentation und Links zur Community
- Benachrichtigungen über den Abschluss des Spiel-Downloads; ein Klick leitet zur Spieleseite weiter
- Gemini CLI wird nun in neuen Projekten mit derselben EdenSpark- und Context7-MCP-Konfiguration wie bei Claude Code unterstützt.
- GitHub Copilot in VS Code ist nun mit den EdenSpark- und Context7-MCP-Servern verbunden – keine manuelle Einrichtung erforderlich.
- MCP-Tool zur Auflistung aller Komponenten eines bestimmten Szenen-Knotens mit allen Feldwerten
- MCP-Tool zum Auffinden aller Knoten in der Szene, die einen bestimmten Komponententyp aufweisen (z. B. „find all cameras“, „find all lights“)
- MCP-Tool zum Auflisten aller im aktuellen Projekt vorhandenen Komponententypen
- MCP-Tool zum Auslesen der Editor-Viewport-Kamera – Position, Blickrichtung, Sichtfeld, Nah/Fern, perspektivisch vs. orthografisch
- MCP-Tool zum Neustarten des Spiels
- MCP-Tool zum Wechseln zwischen den Editor-Registerkarten (Scene, Game, Prefab)
- MCP-Tool zum Umschalten auf die Vollbild-Spielansicht (Editor-UI ausgeblendet)
- strudel module — core pattern engine: s(), note_pattern(), stack(), cat(), fast(), slow(), rev(), jux(), off(), every(), degrade(), euclid(), und mehr
- Mini-notation parser — "bd [sd sd] hh cp", <alternation>, *, /, @, ?, : modifiers
- Built-in synthesisers — sine, sawtooth, square, triangle oscillators; bd, sd, hh, cp, tom, ride drum voices
- Per-event Effekte — set_gain, set_pan, set_room / set_roomsize, set_delay / set_delaytime / set_delayfeedback, set_lpf / set_hpf, ADSR envelope, set_fm / set_fmh, per-orbit FX bus routing
- Convolution reverb – partitionierte Überlappungsspeicherung mit synthetischer Impulsantwort; per-orbit independent FX chains
- HRTF binaural positioning — set_hrtf(az, el), set_hrtf_azimuth, set_hrtf_elevation für die 3D-Klangplatzierung unter Verwendung von CIPIC-Messungen
- Scale system (strudel/strudel_scales) — set_scale("C4:pentatonic") ordnet pattern-indizes den Tonstufen zu; unterstützt major, minor, modes, pentatonic, blues, chromatic und mehr
- Kontinuierliche Signale — signal_sine(), signal_saw(), signal_perlin() usw., verwendbar als Musterparameterwerte für sanfte Modulation
- SF2-SoundFont-Synthese — strudel_load_sf2 + full GM-Programmzuordnung über 128 Instrumente
- Tempo control — strudel_cps(), strudel_bpm()
- Playback API — strudel_play() returns a StrudelHandle; strudel_stop(), strudel_pause(), strudel_volume()
🔧 Verbessert
- Veraltete Cache-Dateien für Assets, die nicht mehr vorhanden sind, werden nun automatisch aus dem Verzeichnis .project/cache/res/ entfernt, wodurch der Cache-Ordner langfristig übersichtlich bleibt
- Die Bearbeitung von Kollidern im Szenen-Editor ist jetzt zuverlässiger: Mehrere Probleme, die zum Auftreten unerwünschter Formen, falscher Debug-Grenzen und zum Verlust von Bearbeitungen führen konnten, wurden behoben. Der aktuell bearbeitete Kollider wird auch in der Ansicht hervorgehoben, sodass Sie leichter erkennen können, woran Sie gerade arbeiten.
- Sphere primitive ist nun standardmäßig auf „Cube Sphere“ statt auf „UV Sphere“ eingestellt, um eine bessere Verteilung der Scheitelpunkte und UV-Koordinaten zu gewährleisten
- „UV Sphere“ ist weiterhin als alternativer Kugeltyp verfügbar
- Der Befehl „Externer Editor“ in den Editor-Einstellungen unterstützt nun Makros: {file}, {line}, {project}. Setzt den Pfad zur ausführbaren Datei in Anführungszeichen, wenn er Leerzeichen enthält. Beispiel: „C:\Program Files\Sublime Text\subl.exe“ {file}:{line}. Wenn der Befehl keine Makros enthält, wird der Dateipfad automatisch angehängt.
- Tests hinzugefügt, die das neue Verhalten der Button-Aktion abdecken
- Navigationstasten auf dem Ziffernblock werden nun im Editor unterstützt
- Das Speichern von Prefabs ist keine Editor-Aktion mehr und kann nicht rückgängig gemacht oder wiederholt werden
- Das Format der Prefab-Serialisierung ist prägnanter
- Fehlende Dokumentation für die SpriteRenderer-Komponente wurde hinzugefügt
- Die Zustandsverwaltung (aktiv, gehovert, fokussiert) für die Reiter Prefab, Scene und Game wurde zusammen mit dem neuen Willkommens-Reiter überarbeitet.
- Das Einfügen aus dem Win+V-Zwischenablage-Popup in Editor-Textfelder funktioniert nun.
- Filter auf der Registerkarte „Browse“ bleiben nun auch beim Wechseln zwischen Registerkarten erhalten.
- Likes und Kommentare sind nun optisch von plays/downloads getrennt und sehen anklickbar aus.
- Exportierte Spielarchive verwenden nun den Spielnamen (ohne Sonderzeichen) als Dateinamen
- Auf der Registerkarte „browse“ werden nun hochwertige Vorschaubilder geladen
- Die Scrollposition in der Spieleliste bleibt erhalten, wenn man von einer Spieleseite zurücknavigiert
- Es werden Fehlermeldungen angezeigt, wenn man bei abgelaufener Sitzung etwas liked oder kommentiert
- Das MCP scene-inspection Tool zur funktioniert nun auch mit geöffneten Prefabs
- Das MCP status tool meldet nun auch das geöffnete Prefab, den aktiven Reiter und den Vollbildmodus
- Das Debug-Rendering im HD-Renderer wird nun nicht mehr von TAA beeinflusst und bleibt scharf ohne ghosting
- Die Render-Einstellungen werden nun entsprechend dem für das Projekt ausgewählten Renderer erstellt
- Die Komponente SSAOSettings funktioniert nun vollständig im HD-Renderer
- Der Shader-Bytecode-Compiler generiert nun weniger Befehle
🐛 Fixed
- Es wurde ein Absturz/Hängenbleiben behoben, der auftrat, wenn ein Modell eine Material remapping enthielt, die auf sich selbst verwies, wodurch ein rekursiver Abhängigkeitszyklus bei den Assets entstand
- Es wurde ein Fehler behoben, durch den der Export des Projekts als .zip-Archiv fehlschlug
- Button-Aktionen lösen nicht länger einen veralteten „gedrückt“-Zustand aus, wenn eine Aktionsgruppe aktiviert wird, während der Button bereits gedrückt gehalten wird (neues Feld isValidPress im ActionState).
- Ereignisse für Drücken und Loslassen im selben Frame werden jetzt korrekt behandelt.“
- Die Größenanpassung des Screenshot-Containers bei nicht standardmäßigen Auflösungen wurde korrigiert
- Die Registerkarte „Console“ wird nun orange eingefärbt, wenn der Output Warnungen enthält
⚠️ Bekannte Probleme
- Das Win+V-Popup öffnet sich weiterhin in der Bildschirmecke statt neben dem Textfeld.






