[DropObject( "structure", "struct" )] public class DropStructure : BaseDropObject { Structure _structure; protected override Task Initialize( string dragData, CancellationToken token ) { _structure = InstallAsset( dragData, token ).Result.LoadResource<Structure>(); return Task.CompletedTask; } public override Task OnDrop() { var obj = Game.ActiveScene?.CreateObject(); obj.WorldPosition = traceTransform.Position; obj.AddComponent<StructureLoader>().LoadedStructure = _structure; return Task.CompletedTask; } }
Structure is a game resource, "struct" is the file extension for the game resource. Put this code in the editor folder, separate from the game resource/ file you're trying to make droppable.