Skip to content
hikari
RenderingEditorAIToolchainDocumentation
GitHub
hikari

© 2026 Flying Rat Studio.
All rights reserved.

Explore the engineDocumentationContributorsLicenseBack to top
Documentation / Tutorials
Browse docs
Overview
Tutorials16
OverviewFirst game projectFirst entityAuthored user_data and the inspectorFirst mesh and materialFirst physics body and triggerFirst character controllerFirst session servicesFirst UIFirst input actionFirst messagesPlay, Edit, and scenesFirst runtime spawnFirst motionFirst skeletal animationAssets in Play (soft refs and hot reload)Dynamic editor recompile
Guides16
OverviewDevelopment guideGameplay APIChoosing component storageBuild and packagingProject filePluginsHikari Plugin APIData-driven content, JSON, and pathsScripting with KawaShader authoringTime of dayUser interfaceUI layoutUI widgetsMigration from Unity / UnrealActor and component lifecycle
Systems28
OverviewArchitectureApplication lifecycleFrontends and driversPlatforms and supportSession services and cross-scene stateScenes and gameplayActor communication (hi.actors)Game-facing refsSave / replication wire versionCoordinate space and camera conventionsRenderingRenderer architecture mapFrame governorGPU particlesVisual ZonesVolumetric mediaInputAudioPhysicsMotion KitTemporal KitAssets and ShinraPrefabsAsset residencyAsset formats (Shinra pipeline)UI and editorEditor asset hot reloadEditor Project Selector
Language reference2
OverviewAkari language referenceKawa language reference
Engine overview
Start exploring
  • No matching sections. Try fewer words or another topic.
NavigateEnter Openesc Close
Overview
Tutorials16
OverviewFirst game projectFirst entityAuthored user_data and the inspectorFirst mesh and materialFirst physics body and triggerFirst character controllerFirst session servicesFirst UIFirst input actionFirst messagesPlay, Edit, and scenesFirst runtime spawnFirst motionFirst skeletal animationAssets in Play (soft refs and hot reload)Dynamic editor recompile
Guides16
OverviewDevelopment guideGameplay APIChoosing component storageBuild and packagingProject filePluginsHikari Plugin APIData-driven content, JSON, and pathsScripting with KawaShader authoringTime of dayUser interfaceUI layoutUI widgetsMigration from Unity / UnrealActor and component lifecycle
Systems28
OverviewArchitectureApplication lifecycleFrontends and driversPlatforms and supportSession services and cross-scene stateScenes and gameplayActor communication (hi.actors)Game-facing refsSave / replication wire versionCoordinate space and camera conventionsRenderingRenderer architecture mapFrame governorGPU particlesVisual ZonesVolumetric mediaInputAudioPhysicsMotion KitTemporal KitAssets and ShinraPrefabsAsset residencyAsset formats (Shinra pipeline)UI and editorEditor asset hot reloadEditor Project Selector
Language reference2
OverviewAkari language referenceKawa language reference
Engine overview
Tutorials1 min read

Tutorial: assets in Play (soft refs and hot reload)

On this page
On this pageSoft refs (always)Hot reload while authoringPractical loopNext Back to top

Content refs fail softly; the editor can hot-reload Shinra output. Play mode defers applying asset reloads until Stop (or when Edit allows).

Deep reference: Assets and Shinra — soft refs, UI and editor.

Soft refs (always)

FailureResult
Mesh pending / missingHidden pending or error cube
Material / shader failPink error material
Unknown archetype_missing host
Skybox cubemap failSolid skybox color

Scenes keep loading. Inspector Asset issues banners list path + status for broken actors.

Hot reload while authoring

  1. Edit mode: change a texture/material source, let Shinra watch rebuild.
  2. Engine applies at a frame boundary — viewport updates without a full restart.
  3. Enter Play: further asset events queue; they do not swap mid-simulation.
  4. Stop (or return to Edit): deferred reloads apply.

Do not expect Play to pick up a material fix until you leave Play.

Practical loop

  1. Author mesh/material paths with asset://./....
  2. If you see pink/error cube — fix the asset or path, stay in Edit until it resolves.
  3. Play to validate gameplay; Stop before iterating on shaders/textures again.

Leak-check smoke after hot reload + Play→Stop: bin/kaji/kaji editor --workspace=$PWD --project=$PWD/src/games/example --type=dynamic --config=debug --memory-leak-check --run (Build and packaging).

Next

  • First mesh and material
  • Dynamic editor recompile
PreviousTutorial: first skeletal animationNext Tutorial: dynamic editor recompile

Documentation follows the current engine checkout.

Snapshot cc148c75Source docs/tutorials/assets-in-play.md
On this pageSoft refs (always)Hot reload while authoringPractical loopNext Back to top