Quick Start: Your First PS1 Scene¶
This walkthrough creates a minimal scene with a floor, an object, and a player. By the end you'll have something running in the emulator.
1. Create a New Project¶
Create a new Unity project using the Universal 3D template. This gives you a Universal Render Pipeline project, which SplashEdit requires.
2. Install SplashEdit¶
Follow the Installation guide to install the SplashEdit package and toolchain.
3. Create a Scene¶
Create a new Unity scene (File -> New Scene).
4. Add a Scene Exporter¶
Go to GameObject -> PlayStation 1 -> Scene Exporter. This adds a GameObject with the PSXSceneExporter component. There can only be one per scene - it's the master controller for the export pipeline.
5. Add a Floor¶
Don't use Unity's built-in Plane
Unity's default Plane is two huge triangles. On the PS1, large polygons cause severe texture warping and will likely get culled entirely. Instead, create your floor geometry in a 3D modeling tool (Blender, etc.) and subdivide it into small quads/triangles. Built-in Unity primitives like Cube can work for simple testing, but avoid Plane, Sphere, Cylinder, and other complex built-in meshes.
- Import a subdivided floor mesh from your 3D tool
- Assign a material with a texture
- Add the
PSXObjectExportercomponent to it
Texture Requirements
All textures must be power-of-two in both width and height, and the maximum size is 256x256. Valid sizes: 16x16, 32x32, 64x64, 128x128, 256x256 (and non-square like 64x128). SplashEdit does NOT check this for you - incorrect textures will produce broken results.
6. Add a Player¶
- Create an empty GameObject
- Add the
PSXPlayercomponent - Position it above the floor
The player is invisible at runtime - it represents the camera and controller.
7. Add the Scene to the Build¶
- Open the Control Panel (Ctrl+Shift+L)
- Go to the Scenes tab
- Click "+ Add Current Scene"
8. Build and Run¶
- Go to the Build tab
- Set Target to Emulator
- Click BUILD & RUN
SplashEdit exports the scene, compiles the PS1 executable, and launches PCSX-Redux. You should see your textured floor with camera controls.
What Just Happened?¶
Behind the scenes, SplashEdit:
- Quantized your texture to PS1-compatible color depth
- Packed it into VRAM alongside the framebuffers and system font
- Converted your mesh to fixed-point PS1 vertex format with pre-baked lighting
- Wrote everything into a
.splashpackbinary - Compiled the psxsplash C++ runtime with your configuration
- Launched PCSX-Redux serving your data via PCdrv
Next Steps¶
- Add more objects with different textures and bit depths
- Set up UI with a HUD canvas
- Write Lua scripts for game logic
- Add interactables the player can interact with
- Check out the tutorials for complete game mechanics