Für Texturen benutze ich so eine kleine Funktion um die readable zu machen
Texturen können zwar in der Tat von der GPU zurückgelesen werden, das funktioniert allerdings nur clientseitig, der Server hat diese Möglichkeit leider nicht (da headless) 
Eine Place-Funktion wäre schön damit alles genau so funktioniert und natürlich die Maus-Tasten (PlayerMouseButtonEvent)
Man müsste sich mal überlegen, wie man so ein "Place-Verhalten" sauber in der API anbieten kann
Dazu machen wir uns mal Gedanken 
Einem PlayerMouseButtonEvent steht aber natürlich nichts im Wege^^
Das währe erstmal nur für den Client selber(Ohne das zu Teilen als Poster oder so), an der Stelle wo ich das bräuchte, habe ich das Geladene PrefabAsset ...
Ich könnte da eine Temporäres Prefab erstellen, aber da wehren noch keine TextureAsset erst beim player.addGameObject ?
So ein rein clientseitiges Handling bringt leider ein paar Probleme mit sich... wenn eine Textur nur clientseitig vorhanden ist, man aber trotzdem eine Referenz in der API hat, dann wirft das jede Menge Fragen auf, wenn diese Referenz bspw. einem anderen Spieler zugewiesen wird. Bzw. die API GameObjects sind ja ohnehin nicht spielergebunden, d.h. dieselbe Referenz kann mehreren Spielern zugewiesen sein. Würde man nun nur clientseitig die Textur auslesen und irgendwo zuweisen, würde das bei anderen Spielern nicht wirklich funktionieren... so ein API Verhalten wäre sehr inkonsistent 
Einfacher und sinnvoller ist es bei einem Prefab eigentlich, die benötigten Texturen direkt beim Vorbereiten des Plugins (in Unity) mit ins AssetBundle zu packen - dann kann die Textur uneinschränkt geladen und in der API verwendet werden. Die AssetBundles können ja nicht nur Prefabs speichern, sondern auch Texturen, Meshes etc.
Ja sollte ausreichen
ich habe ein Würfel Mesh in die Handbekommen und da überkarm mich die Idee, einen Ingame Würfel zu machen
um gemeinsam zu Würfeln
Wenn du nur einen Würfel haben möchtest, dann kannst du auch die Model Klasse verwenden - denn das ModelAsset unterstützt zumindest bereits das Laden eines Meshes aus dem Spiel. Ein paar generische Meshes (zB ein "Cube") sind dort auch direkt exposed:
MaterialAsset material = MaterialAsset.create("test");
material.setTexture(TextureAsset.loadFromFile(...));
material.setColor(0xFF0000FF);
material.setSmoothness(0.7f);
Model model = new Model();
model.setLocalPosition(player.getPosition());
model.setMesh(ModelAsset.Cube); // <- assign built-in Cube mesh
model.setMaterial(material); // <- assign material
model.setCollider(new MeshCollider());
player.addGameObject(model);
Display More
gerne auch mit Registrieren(wenn es Sinn macht)
Wie meinst du das genau?
interessant wehre da auch isPressd() und ein isDrag() oder vieleicht isHold() damit mann den Plazier Timer umsetzen kann
Eine isPressed() Funktion würde das Event auf jeden Fall bekommen (d.h. das Event würde beim Drücken sowie Loslassen der Maus getriggert werden, ähnlich wie beim PlayerKeyEvent).
Beim Draggen müssten wir uns mal Gedanken machen... vll wäre hier ein separates Event denkbar (PlayerMouseDragEvent o.ä) 
Ich habe das Pfenomän Festgestellt das nur das aller erste disableClientsideKeys Funktioniert, die Liste scheint dann Fest zu sein, ich habe das auch nur mit einem Plugin getestet
Oh, tatsächlich
Offenbar wird nur der erste Key übernommen... das ist so nicht gewollt, das werden wir mit dem nächsten Update beheben 
Settings_LogWorldEvents=False
oder habe ich den erst jetzt wargenommen
Das ist tatsächlich schon etwas länger drin 
Nur für den Reguleren betrieb vieleicht auch ausschaltbar machen, vieleicht noch Settings_LogPlayerEvents, Settings_LogPluginEvents hier wehre auch eine 4. Farbe schön (Rot Fehler, Gelb Warnung, z.b. Türkis Plugin, Weiß Server) oder wenn man später noch die Plugin Ausgaben noch Färben könnte
Wie meinst du das genau?
Was das Färben von Plugin-Ausgaben angeht, meinst du die Ausgaben in der Konsole?
Das sieht mir nach einem Rundungs/Konvertierungs Problem aus, in Java konnte ich das mit dem (int) (long)Long.parseLong lösen.
Ich weiß leider nicht genau, was du meinst? 
Sowas ist gut, beim Thema Texture2D, gibt es da auch etwas zum Mischen oder Überlagern per Maske?
Der obige Code von Kryssi_79 kopiert die Textur so wie sie ist von der Grafikkarte zurück zur CPU (aber wie gesagt, das funktioniert leider nur clientseitig, d.h. nicht serverseitig, wo die API ausgeführt wird - die API kann an diese Daten also nicht so einfach rankommen). Um eine Textur in ihrem Aussehen zu ändern, muss sie entweder explizit mit einem bestimmten Shader gerendert werden (das stößt in Unitys HDRP aber auf ein paar Probleme und Einschränkungen), oder aber du musst die Pixeldaten manuell überschreiben.
Wenn Bedarf dazu ist, könnten wir in der API grundsätzlich auch die Möglichkeit bieten, Texturen prozedural zu erstellen - ähnlich wie beim MeshAsset. Dann könntest du prinzipiell jedem Pixel einen eigenen Farbwert zuweisen.