Hierarchy
Create cameras, meshes, lights, UI, audio sources, post-process volumes, and gameplay objects. Delete removes selected objects, while copy/paste duplicates Hierarchy selections.
Mipsync Docs
Current documentation · v2026.7 series
Mipsync Engine is a visual editor, asset pipeline, Mips# scripting runtime, Animator system, UI toolkit, audio pipeline, and build toolchain for PS1 projects. The goal is simple: author like a modern game engine, then export something that can run in an emulator or on real PlayStation hardware.
Install the Hub, then install the latest editor release from the Installs screen.
Use the Hub to create a project, or add an existing project folder.
Create objects from the Hierarchy, drag assets from the Project window, and edit components in the Inspector.
Open scripts in VS Code or Cursor. The Mips# extension provides highlighting, completion, hover, definition, and diagnostics.
Use Play Mode for editor testing, then export PS1 or PC Native builds from the Build menu.
Create cameras, meshes, lights, UI, audio sources, post-process volumes, and gameplay objects. Delete removes selected objects, while copy/paste duplicates Hierarchy selections.
Inspector fields use Unity-style object slots where possible. Drag assets into fields, or click a filled field to select the referenced asset in the Project window.
Edit with move, rotate, and scale tools. Mesh, ProBuilder-style geometry, and UI elements can be manipulated directly in the scene.
Renders through the active camera and is the closest editor-side view for play testing your game.
The default layout is Scene Top / Game Bottom. Layout switching favors Scene View and Project window tabs to keep authoring predictable.
The editor restores Hierarchy selection and Inspector context between launches where possible.
MipsyncCLI exposes the running editor to terminals and coding agents without replacing the visual workflow. Open a project normally, then run mipsync commands from that project directory. Authoring changes execute on the editor main thread and appear immediately in the Scene View, Hierarchy, and Inspector.
mipsync help
mipsync search "create and place an object"
mipsync describe entity.create
mipsync entity create Crate --primitive cube --x 2 --y 1 --z -3
mipsync entity transform Crate --ry 45
mipsync material create assets/materials/Red.nmat 0.8 0.1 0.1
mipsync material apply Crate assets/materials/Red.nmat
mipsync scene save
mipsync runtime play
help, search, and describe expose command and symbol metadata without requiring an agent to know Mipsync in advance.
The CLI routes typed requests to the correct running editor through local IPC. Users can watch selections and scene edits happen in real time.
Add --json for typed results and structured diagnostics. Human output and JSON are rendered from the same result.
Authoring mutations integrate with Editor Undo. Destructive commands require explicit confirmation, and scene edits are rejected during Play Mode.
mipsync instances to discover open editors. The current project is detected from the working directory, or can be selected explicitly with --project or --instance.
The Project window manages the files that become game data. Asset previews and drag-and-drop behavior are designed to feel close to Unity while still targeting PS1 constraints.
ModelsUsed by Mesh Renderer, prefab thumbnails, and PS1 mesh export.TexturesUsed by materials, UI images, button sprites, cursors, and HDRI skybox source images.MaterialsCan be assigned to objects and selected ProBuilder faces.Audio clipsCan be dropped into AudioSource fields or dragged into the Hierarchy to create an AudioSource object.PrefabsCan be created from Hierarchy drag-and-drop. Prefab instances show their source in the Inspector..nanim clipsDouble-click to open in the Animation window. Creating a clip also ensures an Animator Controller path exists..ncontrollerAnimator Controller graphs with parameters, states, transitions, Entry, and Any State..mips scriptsOpen in VS Code/Cursor with Mips# language features.Mips# is a component scripting language shaped like a practical Unity C# subset. It compiles to deterministic bytecode used by both editor play mode and PS1 export.
class Rotator : MipsBehaviour
{
public float degreesPerSecond = 90.0;
void Start()
{
Log.Info("ready");
}
void Update()
{
transform.rotation.y = transform.rotation.y
+ degreesPerSecond * Time.deltaTime;
}
}
Start()Update()public fieldsTransformInputAnimatorAudioSourceSceneSaveLog
transform.positionRead/write entity position.Input.GetKey("W")Returns true while a key is held.Input.GetKeyDown("Space")Returns true on the press frame.Scene.Load(path)Loads a project-relative scene.Save.SetInt / GetIntStores and reads save data values.Application.Quit()Requests application shutdown.Mips# supports fixed gameplay-friendly arrays and coroutine-style waiting. Use them for simple lists, scripted timing, UI flows, and staged events.
class IntroSequence : MipsBehaviour
{
public string[] messages = {
"Welcome",
"Press Space"
};
void Start()
{
StartCoroutine(ShowMessages());
}
IEnumerator ShowMessages()
{
for (int i = 0; i < messages.Length; i = i + 1) {
Log.Info(messages[i]);
yield return WaitForSeconds(1.0);
}
}
}
The Animation window edits transform keys on an infinite-style timeline: the last key is the clip end. Double-click a .nanim file to open it. When an animation clip is created for an object, the editor ensures an Animator and controller exist so the clip can be driven from the Animator graph.
Preview, record, scrub the timeline, add/delete keys, and save transform clips.
States, default state, Entry, Any State, transitions, parameters, and graph framing.
Float, Int, Bool, and Trigger parameters can be controlled from Mips#.
Editor play mode can play Animator-driven transform clips and controller transitions.
class CharacterAnimation : MipsBehaviour
{
public Animator animator;
void Update()
{
float speed = 0.0;
if (Input.GetKey("W")) speed = 1.0;
animator.SetFloat("Speed", speed);
if (Input.GetKeyDown("Space"))
animator.SetTrigger("Jump");
}
}
UI uses Canvas-based elements with RectTransform-like editing. Image and Button elements can keep source aspect ratio, and Hierarchy drag-and-drop controls canvas draw order.
CanvasRoot for UI elements rendered in Game View and PS1 builds.TextText is a normal child object, including button labels.ImageDrag a texture onto the field; the element can preserve the source aspect ratio.ButtonRequires a Button Group. If added without one, the editor creates a group and parents the button under it.Button GroupController/keyboard up-down navigation, configurable submit input, cursor sprite, and cursor offset.AudioSource components can be created from the Hierarchy context menu, Add Component, or by dragging an audio file into the Hierarchy. Audio clips can be controlled from Mips# and exported for PS1 playback.
class MusicPlayer : MipsBehaviour
{
public AudioSource source;
void Start()
{
source.loop = true;
source.volume = 0.8;
source.Play();
}
void Update()
{
if (Input.GetKeyDown("M"))
source.mute = !source.mute;
}
}
Fog settings live on Post Process Volume objects. Volumes also expose color grading, vignette, and HDRI skybox settings.
FogConfigure density and color from the Post Process Volume.Color gradingAdjust scene tint and exposure-style presentation controls.VignetteAdd screen-edge falloff for PS1-style presentation.HDRI SkyboxDrag a texture into the skybox slot, then adjust tint, exposure, and rotation.The PS1 pipeline analyzes the scene, converts assets, compiles runtime code, and emits a disc image. The output is intended to be launched from the generated .cue file in DuckStation or other compatible environments.
.cue.Builds/PS1/MyGame/
├─ ps1_src/
├─ generated/
└─ out/
├─ PSX.EXE
├─ game.cue
├─ game.bin
└─ SYSTEM.CNF
PC Native build is available from the Build menu for quick desktop testing and distribution. It packages the selected project into a Windows executable output under Builds/Windows/<Product>/.
Mipsync is actively evolving. The editor aims for a familiar Unity-like workflow, but the runtime still respects PS1-era limits: low memory, limited texture formats, fixed-point-ish rendering expectations, strict asset budgets, and careful draw ordering.
.cue file so streamed assets are available.Join the Discord for questions, progress posts, and test builds.