Project Graveyard – Devlog 011
Editable dedication plaques, new materials, new options.
Project Graveyard 3.2 build 2 is now available on TestFlight. Please check it out and let me know what you think!
New in this Version
The working draft the the release notes
Fixed:
- Sometimes the app content was clipped by the volume bounds on initial launch
- Obelisk was missing a bottom face
Changed:
- Customize Color: the selected color will be scrolled into view on open
- When picking up a gravestone, the billboard effect is only applied on indirect (distance) touch
- Replaced the rain system with a better one
New:
- All items now include editable text that is shown on model
- New Options for Plinth, Obelisk, Bench, Arch, and Lamp:
- Customize materials and colors as applicable
- Four new wood materials
- Four new metal materials
- Edit text, just like with gravestones
- Settings:
- Revised the controls for changing light mode
- Added new light colors that are applied to any dynamic lights in the graveyardNew in this Build
The following objects now have feature parity with the gravestone: Plinth, Obelisk, Bench, Arch, and Lamp. These objects were added in 3.0, but had no customization features. Now we can
- Include text that will appear attached to the surface of the object or a dedication plaque
- Customize:
- Wood objects can now select from 4 wood materials
- Lamp Post can now select from 4 metal materials
I started working on a library to keep track of all the features an item can use. For example, when a user taps the Lamp Post, I need to populate the Customize View with only the materials that make sense for that object. I created a library where I can store this data and some helper functions to quickly access it from anywhere in the app. Lamp01 has 4 materials, no colors, a default material that uses ScratchedMetallicPaint. It even has a way to indicate which attachment layout to use.
// A single object from an array in ItemAppearanceLibrary
"Lamp01": ItemAppearancePalette(
materials: ["Metal053", "Metal062", "Metal047", "ScratchedMetallicPaint"],
colors: [],
defaultMaterial: "ScratchedMetallicPaint",
defaultTintColor: "",
attachmentName: "IronFace01"
)I can access these values where I need them.
let attachmentName = ItemAppearanceLibrary.attachmentName(forModelName: item.modelName)
let palette = ItemAppearanceLibrary.palette(forModelName: item.modelName, materialName: item.stoneMaterialName)
let materials = palette.materals
let colors = palette.colorsI need to do a bit of refactoring and clean up, but this library is working well for me.
Check the video for a tour of all the features that are coming.
Update: version 3.2 was released on October 13, 2025. Check out a short recap here.

Follow Step Into Vision