# U3D Engine - Walls, Floors, Pillars, Textures, and More!

**URL:** <https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656>\
**Category:** Show & Tell\
**Tags:** graphics-and-math\
**Created:** [June 22, 2026, 5:58pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656 "2026-06-22T17:58:10Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![KawaiiGoddess](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kawaiigoddess/32/33722_2.png) [@KawaiiGoddess](https://forum.makecode.com/u/KawaiiGoddess)\
**Post date:** [June 23, 2026, 7:29pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/21 "2026-06-23T19:29:13Z")

</div>

I thought you added a pretend 20 likes on the side.

---

<div class="post-metadata">

**Author:** ![IAmMyGuy21th](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/iammyguy21th/32/16978_2.png) [@IAmMyGuy21th](https://forum.makecode.com/u/IAmMyGuy21th)\
**Post date:** [June 23, 2026, 7:29pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/22 "2026-06-23T19:29:16Z")

</div>

wait I could actually make Minecraft with this. like using the world blocks. I’ll work on that.

---

<div class="post-metadata">

**Author:** ![IAmMyGuy21th](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/iammyguy21th/32/16978_2.png) [@IAmMyGuy21th](https://forum.makecode.com/u/IAmMyGuy21th)\
**Post date:** [June 23, 2026, 7:30pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/23 "2026-06-23T19:30:27Z")

</div>

meowbit 3.5 seconds p/frame. is that good? [https://arcade.makecode.com/S93733-65046-97161-70561](https://arcade.makecode.com/S93733-65046-97161-70561)

---

<div class="post-metadata">

**Author:** ![SmolderDev](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/smolderdev/32/33112_2.png) [@SmolderDev](https://forum.makecode.com/u/SmolderDev)\
**Post date:** [June 23, 2026, 11:57pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/24 "2026-06-23T23:57:30Z")

</div>

I’m glad someone found a use for the heightmaps. Is there anything else planned for the extension?

---

<div class="post-metadata">

**Author:** ![randomuser](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/randomuser/32/32505_2.png) [@randomuser](https://forum.makecode.com/u/randomuser)\
**Post date:** [June 23, 2026, 11:57pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/25 "2026-06-23T23:57:33Z")

</div>

… You mean 0.29 FPS? No, that’s not very good 😅 I’ll try it on mine!

---

<div class="post-metadata">

**Author:** ![randomuser](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/randomuser/32/32505_2.png) [@randomuser](https://forum.makecode.com/u/randomuser)\
**Post date:** [June 23, 2026, 11:57pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/26 "2026-06-23T23:57:37Z")

</div>

Oh great addition, I totally agree, a distance shading color ramp would add a lot!

---

<div class="post-metadata">

**Author:** ![KawaiiGoddess](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kawaiigoddess/32/33722_2.png) [@KawaiiGoddess](https://forum.makecode.com/u/KawaiiGoddess)\
**Post date:** [June 23, 2026, 11:57pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/27 "2026-06-23T23:57:39Z")

</div>

YAAYAYYAYAYAYAYAYYA! I’m so happy!

---

<div class="post-metadata">

**Author:** ![Bear](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bear/32/35805_2.png) [@Bear](https://forum.makecode.com/u/Bear)\
**Post date:** [June 24, 2026, 3:38am UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/28 "2026-06-24T03:38:49Z")

</div>

How? This is all I’ve ever dreamed of! I can finally finish that one dungeon!

---

<div class="post-metadata">

**Author:** ![Unique](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unique/32/32724_2.png) [@Unique](https://forum.makecode.com/u/Unique)\
**Post date:** [June 24, 2026, 3:41am UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/29 "2026-06-24T03:41:07Z")

</div>

I absolutely love the comments and notes on the engine, so thank you so much – truly.

Some updates have been pushed out; they might take a while to refresh for projects that already have U3D:

* * *

## **Changes from v0.4.0 - v0.4.7**

New blocks:

- `setSkyColor` (as @Rune mentioned)
- `pauseEngine` / `resumeEngine` / `stopEngine`
- `setRenderDistance` with `RenderDistance` enum
- `setFOV` / `getCameraAngle`
- `setMoveSpeed` / `getMoveSpeed`
- `setCameraMovement`
- `setTileColor` / `getTileColor` / `resetTileColor` / `resetAllTileColors` (on runtime)

Other fixes:

- `getTileHeight` unit fix
- A/B buttons freed from engine

* * *

## Comments

> [@Rune](#):
>
> - Could you not use another tilemap to put floor textures on every tile?

A: Yes, there is a way to adjust the floor texture, use the `floor` parameter in `setMaps()`:

```auto
U3D.setMaps(
    heightmap, // Image — pixel brightness = terrain height
    colormap, // Image — pixel color = tile color, transparent = hole/lava
    floor, // <------- Image — 16×16 texture shown on transparent tiles (lava, water, void)
    tilemap, // TileMapData — walls and wall textures
    // custom shader is optional
)

```

There’s no way to change the floor texture while the engine is running; floor textures are cached at startup. I’ll add this in a future update.

* * *

> [@Rune](#):
>
> - The Distance Shading turns all of the floors 1 color down, which makes it hard to have the color you want.

A: Sadly, yeah. I think this is just a hard-coded limitation at the moment. It looks great when you look at the sides of elevated terrain, but not when the terrain is at ground level, since you get the dark top faces as the floor. I’m considering some changes or adjustments to this system, but open to suggestions!

* * *

> [@Rune](#):
>
> - The Distance Shading might benefit from being able to adjust it, like changing the distance it takes to shade.

A: One hundred percent, yes. There’s something similar with `setRenderDistance`, and color-mapped walls with no textures have no distance shading for performance reasons. But being able to adjust the shading distance and intensity is something I overlooked, should be really easy to implement tho.

* * *

> [@Rune](#):
>
> - I don’t know how this could be fixed, but taking the height map and color map and then attempting to tile the right spots in the tilemap is really hard, especially on bigger maps and more natural-looking areas.

A: I’ve thought the same thing! My best solution would be another external tool that you can use to overlay or edit both maps at once, and lets you export the code for the maps. But there are strict rules on what external sites and links are allowed on the forums (if any, I know from experience). I’ll see if I can make a solution beyond that, but it’s something I’m prioritizing.

* * *

> [@happyhappyhappy](#):
>
> movement is buggy

@happyhappyhappy Can you please elaborate? I would love to learn more.

* * *

> [@randomuser](#):
>
> Oh great addition, I totally agree, a distance shading color ramp would add a lot!

This exists already, kinda? Distance shading uses the `shader` parameter in `setMaps()`; adjusting this will directly affect distance shading. The downside? It affects everything else that is shaded. A dedicated color ramp for walls is a nice thing to add, though.

* * *

> [@IAmMyGuy21th](#):
>
> meowbit 3.5 seconds p/frame. is that good?

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/c/3/c308fd0d25694be772c55707025a20edfe45a57d.png)

If this is the case, I would recommend a lower render distance using `setRenderDistance(U3D.RenderDistance.Low)`. But this is a little bit alarming, ngl.

---

<div class="post-metadata">

**Author:** ![Unique](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unique/32/32724_2.png) [@Unique](https://forum.makecode.com/u/Unique)\
**Post date:** [June 24, 2026, 3:41am UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/30 "2026-06-24T03:41:37Z")

</div>

NOPE LMAO. This is something that I need to fix, but it was a bit difficult so I pushed it to after the launch.

---

<div class="post-metadata">

**Author:** ![Rune](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/rune/32/18951_2.png) [@Rune](https://forum.makecode.com/u/Rune)\
**Post date:** [June 25, 2026, 6:12pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/31 "2026-06-25T18:12:07Z")

</div>

A few more notes:

- For whatever reason, the world is flipped in game. Something that you put to the right becomes to the left.
- It would be nice if there was a way to turn off the vertical line shading that happens on certain faces of walls. Sometimes its a nice effect, but being able to change everything is always better.
- Unless I’m not understanding the camera movement blocks, some individual blocks to change camera angle and turn speed would be nice. I want to make a system that turns the camera with the mouse instead of the keys.
- Now, this one may be impossible, but it would be really cool if you made the renderer a sprite in a way that could be used with the multiplayer different screens extension or whatever its called. My dreams of making an arena shooter could finally be realized!
- Billboards appear as a black silhouette sometimes???
- It would be nice to have set and get blocks for billboard X, Y, Z etc.

---

<div class="post-metadata">

**Author:** ![Unique](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unique/32/32724_2.png) [@Unique](https://forum.makecode.com/u/Unique)\
**Post date:** [June 26, 2026, 8:20pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/32 "2026-06-26T20:20:49Z")

</div>

Thank you to @Rune and everyone else who’s given feedback and requests to me for U3D! I’m working hard on the next major update to ensure U3D is efficient, functional, and intuitive.

---

<div class="post-metadata">

**Author:** ![Mikey\_s.3000](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/mikey_s.3000/32/24839_2.png) [@Mikey\_s.3000](https://forum.makecode.com/u/Mikey_s.3000)\
**Post date:** [July 9, 2026, 3:00am UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/33 "2026-07-09T03:00:34Z")

</div>

That’s so cool where can I start doing that

---

<div class="post-metadata">

**Author:** ![YamJam](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/yamjam/32/29681_2.png) [@YamJam](https://forum.makecode.com/u/YamJam)\
**Post date:** [July 9, 2026, 11:10pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/34 "2026-07-09T23:10:38Z")

</div>

If only my tiny pea sized food filled brain would understand how to use this 😔

---

<div class="post-metadata">

**Author:** ![KawaiiGoddess](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kawaiigoddess/32/33722_2.png) [@KawaiiGoddess](https://forum.makecode.com/u/KawaiiGoddess)\
**Post date:** [July 9, 2026, 11:10pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/35 "2026-07-09T23:10:42Z")

</div>

There is an extension at the top, if you copy and paste the extension link from GitHub it has blocks of the U3D Engine to build with! Isn’t that awesome?!

---

<div class="post-metadata">

**Author:** ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)\
**Post date:** [July 10, 2026, 3:49pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/36 "2026-07-10T15:49:53Z")

</div>

This is really cool but is there a way to make the tile scaling smaller since each tile seems huge

---

<div class="post-metadata">

**Author:** ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)\
**Post date:** [July 10, 2026, 3:50pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/37 "2026-07-10T15:50:02Z")

</div>

Maybe just maybe we could have this begin plus with the passwords extension with console logging to save a password maybe just maybe

---

<div class="post-metadata">

**Author:** ![Mikey\_s.3000](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/mikey_s.3000/32/24839_2.png) [@Mikey\_s.3000](https://forum.makecode.com/u/Mikey_s.3000)\
**Post date:** [July 10, 2026, 3:53pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/38 "2026-07-10T15:53:33Z")

</div>

Is their any tutorials or tips I should learn from

---

<div class="post-metadata">

**Author:** ![KawaiiGoddess](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/kawaiigoddess/32/33722_2.png) [@KawaiiGoddess](https://forum.makecode.com/u/KawaiiGoddess)\
**Post date:** [July 11, 2026, 2:24am UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/39 "2026-07-11T02:24:35Z")

</div>

Uh… no, but you can contact @Unique in a post for him to explain how it works.

---

<div class="post-metadata">

**Author:** ![BlueYoshi507](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/blueyoshi507/32/32630_2.png) [@BlueYoshi507](https://forum.makecode.com/u/BlueYoshi507)\
**Post date:** [July 14, 2026, 6:27pm UTC](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656/40 "2026-07-14T18:27:02Z")

</div>

![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/5/4/54fc801400cbee18225ae86318fafb5191bf1a56.png)  
Why it aint workin’? :(?  
@Unique help pls!!

[Previous page](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656.md?page=1)

[Next page](https://forum.makecode.com/t/u3d-engine-walls-floors-pillars-textures-and-more/44656.md?page=3)
